MicroPython: added support for a generic MicroPython device where the user can configure the relevant paramaters through the 'Unknown Devices' dialogs.

Sat, 06 Feb 2021 19:22:22 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sat, 06 Feb 2021 19:22:22 +0100
changeset 8082
2242a6a1d786
parent 8081
e0087e542717
child 8083
a2e14cda6f3f

MicroPython: added support for a generic MicroPython device where the user can configure the relevant paramaters through the 'Unknown Devices' dialogs.

eric6.epj file | annotate | diff | comparison | revisions
eric6/MicroPython/GenericMicroPythonDevices.py file | annotate | diff | comparison | revisions
eric6/MicroPython/MicroPythonDevices.py file | annotate | diff | comparison | revisions
eric6/MicroPython/MicroPythonWidget.py file | annotate | diff | comparison | revisions
eric6/i18n/eric6_cs.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_de.qm file | annotate | diff | comparison | revisions
eric6/i18n/eric6_de.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_empty.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_en.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_es.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_fr.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_it.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_pt.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_ru.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_tr.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_zh_CN.ts file | annotate | diff | comparison | revisions
--- a/eric6.epj	Sat Feb 06 19:18:22 2021 +0100
+++ b/eric6.epj	Sat Feb 06 19:22:22 2021 +0100
@@ -1625,7 +1625,8 @@
       "scripts/uninstall.py",
       "setup.py",
       "eric6/MicroPython/AddEditDevicesDialog.py",
-      "eric6/MicroPython/UnknownDevicesDialog.py"
+      "eric6/MicroPython/UnknownDevicesDialog.py",
+      "eric6/MicroPython/GenericMicroPythonDevices.py"
     ],
     "FORMS": [
       "eric6/CondaInterface/CondaExecDialog.ui",
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eric6/MicroPython/GenericMicroPythonDevices.py	Sat Feb 06 19:22:22 2021 +0100
@@ -0,0 +1,204 @@
+# -*- coding: utf-8 -*-
+
+# Copyright (c) 2021 Detlev Offenbach <detlev@die-offenbachs.de>
+#
+
+"""
+Module implementing the device interface class for generic MicroPython devices
+(i.e. those devices not specifically supported yet).
+"""
+
+import os
+
+from E5Gui import E5MessageBox
+
+from .MicroPythonDevices import MicroPythonDevice
+from .MicroPythonWidget import HAS_QTCHART
+
+import Preferences
+import Utilities
+
+
+class GenericMicroPythonDevice(MicroPythonDevice):
+    """
+    Class implementing the device interface for generic MicroPython boards.
+    """
+    def __init__(self, microPythonWidget, vid, pid, parent=None):
+        """
+        Constructor
+        
+        @param microPythonWidget reference to the main MicroPython widget
+        @type MicroPythonWidget
+        @param vid vendor ID
+        @type int
+        @param pid product ID
+        @type int
+        @param parent reference to the parent object
+        @type QObject
+        """
+        super(GenericMicroPythonDevice, self).__init__(microPythonWidget,
+                                                       parent)
+        
+        self.__directAccess = False
+        self.__deviceVolumeName = ""
+        self.__workspace = ""
+        self.__deviceName = ""
+        
+        for deviceData in Preferences.getMicroPython("ManualDevices"):
+            if (
+                deviceData["vid"] == vid and
+                deviceData["pid"] == pid
+            ):
+                self.__deviceVolumeName = deviceData["data_volume"]
+                self.__directAccess = bool(deviceData["data_volume"])
+                self.__deviceName = deviceData["description"]
+                
+                self.__workspace = self.__findWorkspace()
+    
+    def setButtons(self):
+        """
+        Public method to enable the supported action buttons.
+        """
+        super(GenericMicroPythonDevice, self).setButtons()
+        self.microPython.setActionButtons(
+            run=True, repl=True, files=True, chart=HAS_QTCHART)
+        
+        if self.__directAccess and self.__deviceVolumeMounted():
+            self.microPython.setActionButtons(open=True, save=True)
+    
+    def deviceName(self):
+        """
+        Public method to get the name of the device.
+        
+        @return name of the device
+        @rtype str
+        """
+        return self.__deviceName
+    
+    def canStartRepl(self):
+        """
+        Public method to determine, if a REPL can be started.
+        
+        @return tuple containing a flag indicating it is safe to start a REPL
+            and a reason why it cannot.
+        @rtype tuple of (bool, str)
+        """
+        return True, ""
+    
+    def canStartPlotter(self):
+        """
+        Public method to determine, if a Plotter can be started.
+        
+        @return tuple containing a flag indicating it is safe to start a
+            Plotter and a reason why it cannot.
+        @rtype tuple of (bool, str)
+        """
+        return True, ""
+    
+    def canRunScript(self):
+        """
+        Public method to determine, if a script can be executed.
+        
+        @return tuple containing a flag indicating it is safe to start a
+            Plotter and a reason why it cannot.
+        @rtype tuple of (bool, str)
+        """
+        return True, ""
+    
+    def runScript(self, script):
+        """
+        Public method to run the given Python script.
+        
+        @param script script to be executed
+        @type str
+        """
+        pythonScript = script.split("\n")
+        self.sendCommands(pythonScript)
+    
+    def canStartFileManager(self):
+        """
+        Public method to determine, if a File Manager can be started.
+        
+        @return tuple containing a flag indicating it is safe to start a
+            File Manager and a reason why it cannot.
+        @rtype tuple of (bool, str)
+        """
+        return True, ""
+    
+    def supportsLocalFileAccess(self):
+        """
+        Public method to indicate file access via a local directory.
+        
+        @return flag indicating file access via local directory
+        @rtype bool
+        """
+        return self.__deviceVolumeMounted()
+    
+    def __deviceVolumeMounted(self):
+        """
+        Private method to check, if the device volume is mounted.
+        
+        @return flag indicated a mounted device
+        @rtype bool
+        """
+        if self.__workspace and not os.path.exists(self.__workspace):
+            self.__workspace = ""       # reset
+        
+        return (
+            self.__directAccess and
+            self.__deviceVolumeName in self.getWorkspace(silent=True)
+        )
+    
+    def getWorkspace(self, silent=False):
+        """
+        Public method to get the workspace directory.
+        
+        @param silent flag indicating silent operations
+        @type bool
+        @return workspace directory used for saving files
+        @rtype str
+        """
+        if self.__directAccess:
+            if self.__workspace:
+                # return cached entry
+                return self.__workspace
+            else:
+                self.__workspace = self.__findWorkspace(silent=silent)
+                return self.__workspace
+        else:
+            super(GenericMicroPythonDevice, self).getWorkspace()
+    
+    def __findWorkspace(self, silent=False):
+        """
+        Private method to find the workspace directory.
+        
+        @param silent flag indicating silent operations
+        @type bool
+        @return workspace directory used for saving files
+        @rtype str
+        """
+        # Attempts to find the path on the filesystem that represents the
+        # plugged in PyBoard board.
+        deviceDirectories = Utilities.findVolume(self.__deviceVolumeName,
+                                                 findAll=True)
+        
+        if deviceDirectories:
+            if len(deviceDirectories) == 1:
+                return deviceDirectories[0]
+            else:
+                return self.selectDeviceDirectory(deviceDirectories)
+        else:
+            # return the default workspace and give the user a warning (unless
+            # silent mode is selected)
+            if not silent:
+                E5MessageBox.warning(
+                    self.microPython,
+                    self.tr("Workspace Directory"),
+                    self.tr("Python files for this generic board can be"
+                            " edited in place, if the device volume is locally"
+                            " available. A volume named '{0}' was not found."
+                            " In place editing will not be available."
+                            ).format(self.__deviceVolumeName)
+                )
+            
+            return super(GenericMicroPythonDevice, self).getWorkspace()
--- a/eric6/MicroPython/MicroPythonDevices.py	Sat Feb 06 19:18:22 2021 +0100
+++ b/eric6/MicroPython/MicroPythonDevices.py	Sat Feb 06 19:22:22 2021 +0100
@@ -60,8 +60,7 @@
             (0x1B4F, 0x0016),       # Sparkfun Thing Plus - SAMD51
             (0x1B4F, 0x8D22),       # SparkFun SAMD21 Mini Breakout
             (0x1B4F, 0x8D23),       # SparkFun SAMD21 Dev Breakout
-# TODO: re-enable after testing is done
-#            (0x1B4F, 0x8D24),       # SparkFun Qwiic Micro
+            (0x1B4F, 0x8D24),       # SparkFun Qwiic Micro
             (0x1D50, 0x60E8),       # PewPew Game Console
             (0x2341, 0x8057),       # Arduino Nano 33 IoT board
             (0x2886, 0x002F),       # Seeed XIAO
@@ -172,21 +171,27 @@
                         SupportedBoards[board]["port_description"]
                     ):
                         continue
-                foundDevices.append(
-                    (board,
-                     port.description(),
-                     SupportedBoards[board]["description"],
-                     port.portName()))
+                foundDevices.append((
+                    board,
+                    port.description(),
+                    SupportedBoards[board]["description"],
+                    port.portName(),
+                    vid,
+                    pid,
+                ))
                 supported = True
         if not supported:
             # check the locally added ones next
             if (vid, pid) in manualDevices:
                 board = manualDevices[(vid, pid)]["type"]
-                foundDevices.append(
-                    (board,
-                     port.description(),
-                     SupportedBoards[board]["description"],
-                     port.portName()))
+                foundDevices.append((
+                    board,
+                    port.description(),
+                    SupportedBoards[board]["description"],
+                    port.portName(),
+                    vid,
+                    pid,
+                ))
                 supported = True
         if not supported:
             if vid and pid and (vid, pid) not in IgnoredBoards:
@@ -221,7 +226,7 @@
         return UI.PixmapCache.getPixmap(iconName)
 
 
-def getDevice(deviceType, microPythonWidget):
+def getDevice(deviceType, microPythonWidget, vid, pid):
     """
     Public method to instantiate a specific MicroPython device interface.
     
@@ -229,10 +234,13 @@
     @type str
     @param microPythonWidget reference to the main MicroPython widget
     @type MicroPythonWidget
+    @param vid vendor ID (only used for deviceType 'generic')
+    @type int
+    @param pid product ID (only used for deviceType 'generic')
+    @type int
     @return instantiated device interface
     @rtype MicroPythonDevice
     """
-    # TODO: use vid, pid for 'generic' type
     if deviceType == "esp":
         from .EspDevices import EspDevice
         return EspDevice(microPythonWidget)
@@ -245,6 +253,9 @@
     elif deviceType == "pyboard":
         from .PyBoardDevices import PyBoardDevice
         return PyBoardDevice(microPythonWidget)
+    elif deviceType == "generic":
+        from .GenericMicroPythonDevices import GenericMicroPythonDevice
+        return GenericMicroPythonDevice(microPythonWidget, vid, pid)
     else:
         # nothing specific requested
         return MicroPythonDevice(microPythonWidget)
@@ -254,8 +265,6 @@
     """
     Base class for the more specific MicroPython devices.
     """
-    # TODO: use vid, pid for 'generic' type
-    # TODO: check, if this is a direct access device
     def __init__(self, microPythonWidget, parent=None):
         """
         Constructor
@@ -380,7 +389,6 @@
         @return flag indicating file access via local directory
         @rtype bool
         """
-        # TODO: check 'unknown devices' with type 'generic'
         return False        # default
     
     def getWorkspace(self):
@@ -390,7 +398,6 @@
         @return workspace directory used for saving files
         @rtype str
         """
-        # TODO: check 'unknown devices' with type 'generic'
         return (
             Preferences.getMicroPython("MpyWorkspace") or
             Preferences.getMultiProject("Workspace") or
--- a/eric6/MicroPython/MicroPythonWidget.py	Sat Feb 06 19:18:22 2021 +0100
+++ b/eric6/MicroPython/MicroPythonWidget.py	Sat Feb 06 19:22:22 2021 +0100
@@ -178,6 +178,8 @@
 }
 
 
+# TODO: extract UF2 flashing support into a general MPy functionality with own
+#       vid/pid list
 class MicroPythonWidget(QWidget, Ui_MicroPythonWidget):
     """
     Class implementing the MicroPython REPL widget.
@@ -191,6 +193,8 @@
     DeviceTypeRole = Qt.UserRole
     DeviceBoardRole = Qt.UserRole + 1
     DevicePortRole = Qt.UserRole + 2
+    DeviceVidRole = Qt.UserRole + 3
+    DevicePidRole = Qt.UserRole + 4
     
     dataReceived = pyqtSignal(bytes)
     
@@ -304,9 +308,8 @@
             self.deviceInfoLabel.setText(
                 self.tr("%n supported device(s) detected.", "", len(devices)))
             
-            for index, (boardType, boardName, description, portName) in (
-                enumerate(sorted(devices), 1)
-            ):
+            for index, (boardType, boardName, description, portName,
+                        vid, pid) in enumerate(sorted(devices), 1):
                 self.deviceTypeComboBox.addItem(
                     self.tr("{0} - {1} ({2})",
                             "board name, description, port name")
@@ -318,6 +321,10 @@
                     index, boardName, self.DeviceBoardRole)
                 self.deviceTypeComboBox.setItemData(
                     index, portName, self.DevicePortRole)
+                self.deviceTypeComboBox.setItemData(
+                    index, vid, self.DeviceVidRole)
+                self.deviceTypeComboBox.setItemData(
+                    index, pid, self.DevicePidRole)
             
         else:
             self.deviceInfoLabel.setText(
@@ -435,7 +442,13 @@
         self.deviceIconLabel.setPixmap(MicroPythonDevices.getDeviceIcon(
             deviceType, False))
         
-        self.__device = MicroPythonDevices.getDevice(deviceType, self)
+        vid = self.deviceTypeComboBox.itemData(
+            index, self.DeviceVidRole)
+        pid = self.deviceTypeComboBox.itemData(
+            index, self.DevicePidRole)
+        
+        self.__device = MicroPythonDevices.getDevice(deviceType, self,
+                                                     vid, pid)
         self.__device.setButtons()
         
         self.connectButton.setEnabled(bool(deviceType))
--- a/eric6/i18n/eric6_cs.ts	Sat Feb 06 19:18:22 2021 +0100
+++ b/eric6/i18n/eric6_cs.ts	Sat Feb 06 19:22:22 2021 +0100
@@ -20129,6 +20129,19 @@
     </message>
 </context>
 <context>
+    <name>GenericMicroPythonDevice</name>
+    <message>
+        <location filename="../MicroPython/GenericMicroPythonDevices.py" line="194"/>
+        <source>Workspace Directory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/GenericMicroPythonDevices.py" line="194"/>
+        <source>Python files for this generic board can be edited in place, if the device volume is locally available. A volume named &apos;{0}&apos; was not found. In place editing will not be available.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>Git</name>
     <message>
         <location filename="../Plugins/VcsPlugins/vcsGit/git.py" line="205"/>
@@ -47057,42 +47070,42 @@
 <context>
     <name>MicroPythonDevice</name>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="297"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="306"/>
         <source>Unsupported Device</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="307"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="316"/>
         <source>REPL is not supported by this device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="326"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="335"/>
         <source>Plotter is not supported by this device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="345"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="354"/>
         <source>Running scripts is not supported by this device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="365"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="374"/>
         <source>File Manager is not supported by this device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="410"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="417"/>
         <source>Select Device Directory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="410"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="417"/>
         <source>Select the directory for the connected device:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="113"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="112"/>
         <source>Generic Board</source>
         <translation type="unfinished"></translation>
     </message>
@@ -47700,17 +47713,17 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="516"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="529"/>
         <source>Press to connect the selected device</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="267"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="271"/>
         <source>&lt;h3&gt;The QtSerialPort package is not available.&lt;br/&gt;MicroPython support is deactivated.&lt;/h3&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location filename="../MicroPython/MicroPythonWidget.py" line="304"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="308"/>
         <source>%n supported device(s) detected.</source>
         <translation type="unfinished">
             <numerusform></numerusform>
@@ -47719,37 +47732,37 @@
         </translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="323"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="330"/>
         <source>No supported devices detected.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="486"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="499"/>
         <source>Clear</source>
         <translation type="unfinished">Vyčistit</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="488"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="501"/>
         <source>Copy</source>
         <translation type="unfinished">Kopírovat</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="489"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="502"/>
         <source>Paste</source>
         <translation type="unfinished">Vložit</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="511"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="524"/>
         <source>Press to disconnect the current device</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="532"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="545"/>
         <source>No device attached</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="532"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="545"/>
         <source>Please ensure the device is plugged into your computer and selected.
 
 It must have a version of MicroPython (or CircuitPython) flashed onto it before anything will work.
@@ -47758,217 +47771,217 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="559"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="572"/>
         <source>Start REPL</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="559"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="572"/>
         <source>&lt;p&gt;The REPL cannot be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="961"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="974"/>
         <source>Serial Device Connect</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="961"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="974"/>
         <source>&lt;p&gt;Cannot connect to device at serial port &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1006"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1019"/>
         <source>Run Script</source>
         <translation type="unfinished">Spustit skript</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="989"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1002"/>
         <source>There is no editor open. Abort...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="997"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1010"/>
         <source>The current editor does not contain a script. Abort...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1006"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1019"/>
         <source>&lt;p&gt;Cannot run script.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1030"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1043"/>
         <source>Open Python File</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1030"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1043"/>
         <source>Python3 Files (*.py);;All Files (*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1075"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1088"/>
         <source>Start Chart</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1075"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1088"/>
         <source>&lt;p&gt;The Chart cannot be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1104"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1117"/>
         <source>Unsaved Chart Data</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1104"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1117"/>
         <source>The chart contains unsaved data.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1155"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1168"/>
         <source>Start File Manager</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1155"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1168"/>
         <source>&lt;p&gt;The File Manager cannot be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1226"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1239"/>
         <source>Show Version</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1229"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1242"/>
         <source>Show Implementation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1351"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1364"/>
         <source>Synchronize Time</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1237"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1250"/>
         <source>Show Device Time</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1240"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1253"/>
         <source>Show Local Time</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1569"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1582"/>
         <source>Compile Python File</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1589"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1602"/>
         <source>Compile Current Editor</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1288"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1301"/>
         <source>&lt;h3&gt;Device Version Information&lt;/h3&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1297"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1310"/>
         <source>No version information available.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1299"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1312"/>
         <source>Device Version Information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1322"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1335"/>
         <source>unknown</source>
         <translation type="unfinished">neznámý</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1326"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1339"/>
         <source>Device Implementation Information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1326"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1339"/>
         <source>&lt;h3&gt;Device Implementation Information&lt;/h3&gt;&lt;p&gt;This device contains &lt;b&gt;{0} {1}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1351"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1364"/>
         <source>&lt;p&gt;The time of the connected device was synchronized with the local time.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1373"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1386"/>
         <source>&lt;h3&gt;Device Date and Time&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1381"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1394"/>
         <source>&lt;h3&gt;Device Date and Time&lt;/h3&gt;&lt;p&gt;{0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1396"/>
-        <source>Device Date and Time</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../MicroPython/MicroPythonWidget.py" line="1409"/>
+        <source>Device Date and Time</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1422"/>
         <source>Local Date and Time</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1409"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1422"/>
         <source>&lt;h3&gt;Local Date and Time&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1477"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1490"/>
         <source>Error handling device</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1477"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1490"/>
         <source>&lt;p&gt;There was an error communicating with the connected device.&lt;/p&gt;&lt;p&gt;Method: {0}&lt;/p&gt;&lt;p&gt;Message: {1}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1517"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1530"/>
         <source>The MicroPython cross compiler &lt;b&gt;mpy-cross&lt;/b&gt; cannot be found. Ensure it is in the search path or configure it on the MicroPython configuration page.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1539"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1552"/>
         <source>Python Files (*.py);;All Files (*)</source>
         <translation type="unfinished">Python soubory (*.py);;Všechny soubory (*)</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1549"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1562"/>
         <source>The Python file &lt;b&gt;{0}&lt;/b&gt; does not exist. Aborting...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1559"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1572"/>
         <source>&apos;mpy-cross&apos; Output</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1582"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1595"/>
         <source>The current editor does not contain a Python file. Aborting...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="215"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="219"/>
         <source>MicroPython Menu</source>
         <translation type="unfinished"></translation>
     </message>
@@ -47978,99 +47991,99 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1088"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1101"/>
         <source>&#xc2;&#xb5;Py Chart</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1171"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1184"/>
         <source>&#xc2;&#xb5;Py Files</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1269"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1282"/>
         <source>Show Documentation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1278"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1291"/>
         <source>Configure</source>
         <translation type="unfinished">Konfigurovat</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1243"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1256"/>
         <source>Show Time</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1262"/>
-        <source>Download Firmware</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1452"/>
-        <source>Date and Time</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1435"/>
-        <source>&lt;table&gt;&lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;Local Date and Time&lt;/th&gt;&lt;th&gt;Device Date and Time&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{0}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{1}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{3}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1452"/>
-        <source>&lt;table&gt;&lt;tr&gt;&lt;th&gt;Local Date and Time&lt;/th&gt;&lt;th&gt;Device Date and Time&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&apos;center&apos;&gt;{0} {1}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="373"/>
-        <source>Unknown MicroPython Device</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../MicroPython/MicroPythonWidget.py" line="1275"/>
+        <source>Download Firmware</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1465"/>
+        <source>Date and Time</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1448"/>
+        <source>&lt;table&gt;&lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;Local Date and Time&lt;/th&gt;&lt;th&gt;Device Date and Time&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{0}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{1}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{3}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1465"/>
+        <source>&lt;table&gt;&lt;tr&gt;&lt;th&gt;Local Date and Time&lt;/th&gt;&lt;th&gt;Device Date and Time&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&apos;center&apos;&gt;{0} {1}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="380"/>
+        <source>Unknown MicroPython Device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1288"/>
         <source>Ignored Serial Devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1211"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1224"/>
         <source>Downloads</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="310"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="313"/>
         <source>{0} - {1} ({2})</source>
         <comment>board name, description, port name</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="345"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="352"/>
         <source>&lt;p&gt;Detected these unknown serial devices&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Please report them together with the board name and a short description to &lt;a href=&quot;mailto:{1}&quot;&gt; the eric bug reporting address&lt;/a&gt; if it is a MicroPython board.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="345"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="352"/>
         <source>{0} (0x{1:04x}/0x{2:04x})</source>
         <comment>description, VId, PId</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="373"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="380"/>
         <source>Would you like to add them to the list of manually configured devices?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1273"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1286"/>
         <source>Manage Unknown Devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1674"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1687"/>
         <source>Add Unknown Devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1674"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1687"/>
         <source>Select the devices to be added:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -57864,82 +57877,82 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="186"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="189"/>
         <source>Workspace Directory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="225"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="228"/>
         <source>List DFU-capable Devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="379"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="382"/>
         <source>Flash MicroPython Firmware</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="232"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="235"/>
         <source>MicroPython Flash Instructions</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="262"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="265"/>
         <source>dfu-util not available</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="262"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="265"/>
         <source>The dfu-util firmware flashing tool &lt;b&gt;dfu-util&lt;/b&gt; cannot be found or is not executable. Ensure it is in the search path or configure it on the MicroPython configuration page.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="283"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="286"/>
         <source>&lt;h3&gt;Enable DFU Mode&lt;/h3&gt;&lt;p&gt;1. Disconnect everything from your board&lt;/p&gt;&lt;p&gt;2. Disconnect your board&lt;/p&gt;&lt;p&gt;3. Connect the DFU/BOOT0 pin with a 3.3V pin&lt;/p&gt;&lt;p&gt;4. Re-connect your board&lt;/p&gt;&lt;hr /&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="293"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="296"/>
         <source>&lt;p&gt;&lt;b&gt;Warning:&lt;/b&gt; Make sure that all other DFU capable devices except your PyBoard are disconnected.&lt;hr /&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="299"/>
-        <source>&lt;p&gt;Press &lt;b&gt;OK&lt;/b&gt; to continue...&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../MicroPython/PyBoardDevices.py" line="302"/>
+        <source>&lt;p&gt;Press &lt;b&gt;OK&lt;/b&gt; to continue...&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/PyBoardDevices.py" line="305"/>
         <source>Enable DFU mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="316"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="319"/>
         <source>&lt;h3&gt;Disable DFU Mode&lt;/h3&gt;&lt;p&gt;1. Disconnect your board&lt;/p&gt;&lt;p&gt;2. Remove the DFU jumper&lt;/p&gt;&lt;p&gt;3. Re-connect your board&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Press &lt;b&gt;OK&lt;/b&gt; to continue...&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="324"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="327"/>
         <source>Disable DFU mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="379"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="382"/>
         <source>&apos;dfu-util&apos; Output</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="345"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="348"/>
         <source>List DFU capable Devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="367"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="370"/>
         <source>MicroPython Firmware Files (*.dfu);;All Files (*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="186"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="189"/>
         <source>Python files for PyBoard can be edited in place, if the device volume is locally available. Such a volume was not found. In place editing will not be available.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -78724,43 +78737,43 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="88"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="91"/>
         <source>{0} (*)</source>
         <comment>list entry is modified</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="165"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="168"/>
         <source>Delete Unknown Devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="147"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="150"/>
         <source>The selected entries contain some with modified data. Shall they really be deleted?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="165"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="168"/>
         <source>The list contains some devices with modified data. Shall they really be deleted?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="181"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="184"/>
         <source>Restore Unknown Devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="181"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="184"/>
         <source>Restoring the list of unknown devices will overwrite all changes made. Do you really want to restore the list?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="244"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="247"/>
         <source>Unsaved Data</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="244"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="247"/>
         <source>The list of devices contains some with modified data.</source>
         <translation type="unfinished"></translation>
     </message>
Binary file eric6/i18n/eric6_de.qm has changed
--- a/eric6/i18n/eric6_de.ts	Sat Feb 06 19:18:22 2021 +0100
+++ b/eric6/i18n/eric6_de.ts	Sat Feb 06 19:22:22 2021 +0100
@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS><TS version="2.0" language="de" sourcelanguage="">
+<!DOCTYPE TS>
+<TS version="2.1" language="de">
 <context>
     <name>AboutDialog</name>
     <message>
@@ -2115,8 +2116,8 @@
     </message>
     <message>
         <location filename="../WebBrowser/Bookmarks/BookmarksMenu.py" line="170"/>
-        <source>Open in New Tab<byte value="x9"/>Ctrl+LMB</source>
-        <translation>In neuem Register öffnen<byte value="x9"/>Strg+LMK</translation>
+        <source>Open in New Tab	Ctrl+LMB</source>
+        <translation>In neuem Register öffnen	Strg+LMK</translation>
     </message>
     <message>
         <location filename="../WebBrowser/Bookmarks/BookmarksMenu.py" line="174"/>
@@ -2184,8 +2185,8 @@
     </message>
     <message>
         <location filename="../WebBrowser/Bookmarks/BookmarksToolBar.py" line="90"/>
-        <source>Open in New Tab<byte value="x9"/>Ctrl+LMB</source>
-        <translation>In neuem Register öffnen<byte value="x9"/>Strg+LMK</translation>
+        <source>Open in New Tab	Ctrl+LMB</source>
+        <translation>In neuem Register öffnen	Strg+LMK</translation>
     </message>
     <message>
         <location filename="../WebBrowser/Bookmarks/BookmarksToolBar.py" line="94"/>
@@ -19328,6 +19329,19 @@
     </message>
 </context>
 <context>
+    <name>GenericMicroPythonDevice</name>
+    <message>
+        <location filename="../MicroPython/GenericMicroPythonDevices.py" line="194"/>
+        <source>Workspace Directory</source>
+        <translation>Arbeitsverzeichnis</translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/GenericMicroPythonDevices.py" line="194"/>
+        <source>Python files for this generic board can be edited in place, if the device volume is locally available. A volume named &apos;{0}&apos; was not found. In place editing will not be available.</source>
+        <translation>Python Dateien für dieses Generische Gerät können an Ort und Stelle bearbeitet werden, wenn das Geräteverzeichnis lokal verfügbar ist. Ein Verzeichnis mit der Bezeichnung &apos;{0}&apos;konnte nicht gefunden werden. Direkte Bearbeitung ist nicht verfügbar.</translation>
+    </message>
+</context>
+<context>
     <name>Git</name>
     <message>
         <location filename="../Plugins/VcsPlugins/vcsGit/git.py" line="205"/>
@@ -43737,42 +43751,42 @@
 <context>
     <name>MicroPythonDevice</name>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="297"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="306"/>
         <source>Unsupported Device</source>
         <translation>Nicht unterstütztes Gerät</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="307"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="316"/>
         <source>REPL is not supported by this device.</source>
         <translation>REPL wird von diesem Gerät nicht unterstützt.</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="326"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="335"/>
         <source>Plotter is not supported by this device.</source>
         <translation>Der Plotter wird von diesem Gerät nicht unterstützt.</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="345"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="354"/>
         <source>Running scripts is not supported by this device.</source>
         <translation>Die Ausführung von Skripten wird von diesem Gerät nicht unterstützt.</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="365"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="374"/>
         <source>File Manager is not supported by this device.</source>
         <translation>Der Dateimanager wird von diesem Gerät nicht unterstützt.</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="410"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="417"/>
         <source>Select Device Directory</source>
         <translation>Auswahl des Geräteverzeichnis</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="410"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="417"/>
         <source>Select the directory for the connected device:</source>
         <translation>Wähle das Verzeichnis für das verbundene Gerät:</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="113"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="112"/>
         <source>Generic Board</source>
         <translation>Generisches Board</translation>
     </message>
@@ -44375,17 +44389,17 @@
         <translation>Drücken, um ein Chartfenster zur Darstellung der vom ausgewählten Gerät empfangenen Daten zu öffnen</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="516"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="529"/>
         <source>Press to connect the selected device</source>
         <translation>Drücken, um eine Verbindung mit den ausgewählten Gerät herzustellen</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="267"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="271"/>
         <source>&lt;h3&gt;The QtSerialPort package is not available.&lt;br/&gt;MicroPython support is deactivated.&lt;/h3&gt;</source>
         <translation>&lt;h3&gt;Das Paket QtSerialPort ist nicht verfügbar.&lt;br/&gt;Die MicroPython Unterstützung wird deaktiviert.&lt;/h3&gt;</translation>
     </message>
     <message numerus="yes">
-        <location filename="../MicroPython/MicroPythonWidget.py" line="304"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="308"/>
         <source>%n supported device(s) detected.</source>
         <translation>
             <numerusform>%n unterstütztes Gerät gefunden.</numerusform>
@@ -44393,37 +44407,37 @@
         </translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="323"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="330"/>
         <source>No supported devices detected.</source>
         <translation>Keine unterstützten Geräte gefunden.</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="486"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="499"/>
         <source>Clear</source>
         <translation>Löschen</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="488"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="501"/>
         <source>Copy</source>
         <translation>Kopieren</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="489"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="502"/>
         <source>Paste</source>
         <translation>Einfügen</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="511"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="524"/>
         <source>Press to disconnect the current device</source>
         <translation>Drücken, um die Verbindung zum aktuelle Geräte zu trennen</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="532"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="545"/>
         <source>No device attached</source>
         <translation>Kein Gerät angeschlossen</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="532"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="545"/>
         <source>Please ensure the device is plugged into your computer and selected.
 
 It must have a version of MicroPython (or CircuitPython) flashed onto it before anything will work.
@@ -44436,217 +44450,217 @@
 Drücke zum Abschluss den Resetknopf des Gerätes und warte ein paar Sekunden vor einem neuen Versuch.</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="559"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="572"/>
         <source>Start REPL</source>
         <translation>REPL starten</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="559"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="572"/>
         <source>&lt;p&gt;The REPL cannot be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Die Eingabeaufforderung kann nicht gestartet werden.&lt;/p&gt;&lt;p&gt;Ursache: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="961"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="974"/>
         <source>Serial Device Connect</source>
         <translation>Serielle Verbindung</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="961"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="974"/>
         <source>&lt;p&gt;Cannot connect to device at serial port &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Kann keine Verbindung zum Gerät an der seriellen Schnittstelle &lt;b&gt;{0}&lt;/b&gt; herstellen.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1006"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1019"/>
         <source>Run Script</source>
         <translation>Skript ausführen</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="989"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1002"/>
         <source>There is no editor open. Abort...</source>
         <translation>Es ist kein Editor offen. Abbruch...</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="997"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1010"/>
         <source>The current editor does not contain a script. Abort...</source>
         <translation>Der aktuelle Editortext enthält kein Skript. Abbruch...</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1006"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1019"/>
         <source>&lt;p&gt;Cannot run script.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Das Skript kann nicht ausgeführt werden.&lt;/p&gt;&lt;p&gt;Ursache: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1030"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1043"/>
         <source>Open Python File</source>
         <translation>Pythondatei öffnen</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1030"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1043"/>
         <source>Python3 Files (*.py);;All Files (*)</source>
         <translation>Python3 Dateien (*.py);;Alle Dateien (*)</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1075"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1088"/>
         <source>Start Chart</source>
         <translation>Chart starten</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1075"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1088"/>
         <source>&lt;p&gt;The Chart cannot be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Das Chart kann nicht gestartet werden.&lt;/p&gt;&lt;p&gt;Ursache: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1104"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1117"/>
         <source>Unsaved Chart Data</source>
         <translation>Nich gesicherte Chart Daten</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1104"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1117"/>
         <source>The chart contains unsaved data.</source>
         <translation>Das Chart enthält ungesicherte Daten.</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1155"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1168"/>
         <source>Start File Manager</source>
         <translation>Dateimanager starten</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1155"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1168"/>
         <source>&lt;p&gt;The File Manager cannot be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Der Dateimanager kann nicht gestartet werden.&lt;/p&gt;&lt;p&gt;Ursache: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1226"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1239"/>
         <source>Show Version</source>
         <translation>Version anzeigen</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1229"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1242"/>
         <source>Show Implementation</source>
         <translation>Implementierung anzeigen</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1351"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1364"/>
         <source>Synchronize Time</source>
         <translation>Zeit synchronisieren</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1237"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1250"/>
         <source>Show Device Time</source>
         <translation>Gerätezeit anzeigen</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1240"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1253"/>
         <source>Show Local Time</source>
         <translation>Lokale Zeit anzeigen</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1569"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1582"/>
         <source>Compile Python File</source>
         <translation>Python Datei übersetzen</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1589"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1602"/>
         <source>Compile Current Editor</source>
         <translation>Aktuellen Editor übersetzen</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1288"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1301"/>
         <source>&lt;h3&gt;Device Version Information&lt;/h3&gt;</source>
         <translation>&lt;h3&gt;Versionsinformationen des Gerätes&lt;/h3&gt;</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1297"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1310"/>
         <source>No version information available.</source>
         <translation>Keine Versionsinformationen verfügbar.</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1299"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1312"/>
         <source>Device Version Information</source>
         <translation>Versionsinformationen des Gerätes</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1322"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1335"/>
         <source>unknown</source>
         <translation>unbekannt</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1326"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1339"/>
         <source>Device Implementation Information</source>
         <translation>Informationen zur Implementierung</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1326"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1339"/>
         <source>&lt;h3&gt;Device Implementation Information&lt;/h3&gt;&lt;p&gt;This device contains &lt;b&gt;{0} {1}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation>&lt;h3&gt;Informationen zur Implementierung&lt;/h3&gt;&lt;p&gt;Dieses Gerät enthält &lt;b&gt;{0} {1}&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1351"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1364"/>
         <source>&lt;p&gt;The time of the connected device was synchronized with the local time.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Die Zeit des angeschlossenen Gerätes wurde mit der lokalen Zeit synchronisiert.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1373"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1386"/>
         <source>&lt;h3&gt;Device Date and Time&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
         <translation>&lt;h3&gt;Datum und Zeit des Gerätes&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Datum&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Zeit&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1381"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1394"/>
         <source>&lt;h3&gt;Device Date and Time&lt;/h3&gt;&lt;p&gt;{0}&lt;/p&gt;</source>
         <translation>&lt;h3&gt;Datum und Zeit des Gerätes&lt;/h3&gt;&lt;p&gt;{0}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1396"/>
-        <source>Device Date and Time</source>
-        <translation>Datum und Zeit des Gerätes</translation>
-    </message>
-    <message>
         <location filename="../MicroPython/MicroPythonWidget.py" line="1409"/>
+        <source>Device Date and Time</source>
+        <translation>Datum und Zeit des Gerätes</translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1422"/>
         <source>Local Date and Time</source>
         <translation>Lokales Datum und Zeit</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1409"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1422"/>
         <source>&lt;h3&gt;Local Date and Time&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
         <translation>&lt;h3&gt;Lokales Datum und Zeit&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Datum&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Zeit&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1477"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1490"/>
         <source>Error handling device</source>
         <translation>Fehler bei Gerätekommunikation</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1477"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1490"/>
         <source>&lt;p&gt;There was an error communicating with the connected device.&lt;/p&gt;&lt;p&gt;Method: {0}&lt;/p&gt;&lt;p&gt;Message: {1}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Es trat ein Fehler bei der Kommunikation mit dem Gerät auf.&lt;/p&gt;&lt;p&gt;Methode: {0}&lt;/p&gt;&lt;p&gt;Nachricht: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1517"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1530"/>
         <source>The MicroPython cross compiler &lt;b&gt;mpy-cross&lt;/b&gt; cannot be found. Ensure it is in the search path or configure it on the MicroPython configuration page.</source>
         <translation>Der MicroPython Crosscompiler &lt;b&gt;mpy-cross&lt;/b&gt; kann nicht gefunden werden. Stelle sicher, dass er im Suchpfad liegt oder konfiguriere ihn auf der MicroPython Konfigurationsseite.</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1539"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1552"/>
         <source>Python Files (*.py);;All Files (*)</source>
         <translation>Python-Dateien (*.py);;Alle Dateien (*)</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1549"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1562"/>
         <source>The Python file &lt;b&gt;{0}&lt;/b&gt; does not exist. Aborting...</source>
         <translation>Die Python Datei &lt;b&gt;{0}&lt;/b&gt; existiert nicht. Abbruch...</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1559"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1572"/>
         <source>&apos;mpy-cross&apos; Output</source>
         <translation>&apos;mpy-cross&apos; Ausgabe</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1582"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1595"/>
         <source>The current editor does not contain a Python file. Aborting...</source>
         <translation>Der aktuelle Editortext enthält keine Pythondatei. Abbruch...</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="215"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="219"/>
         <source>MicroPython Menu</source>
         <translation>MicroPython MenÜ</translation>
     </message>
@@ -44656,98 +44670,98 @@
         <translation>Drücken, um einen Dateimanager zum ausgewählten Gerät zu öffnen</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1088"/>
-        <source>&#xc2;&#xb5;Py Chart</source>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1101"/>
+        <source>µPy Chart</source>
         <translation>µPy Chart</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1171"/>
-        <source>&#xc2;&#xb5;Py Files</source>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1184"/>
+        <source>µPy Files</source>
         <translation>µPy Dateien</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1269"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1282"/>
         <source>Show Documentation</source>
         <translation>Dokumentation anzeigen</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1278"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1291"/>
         <source>Configure</source>
         <translation>Einstellungen</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1243"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1256"/>
         <source>Show Time</source>
         <translation>Zeit anzeigen</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1262"/>
-        <source>Download Firmware</source>
-        <translation>Firmware herunterladen</translation>
-    </message>
-    <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1452"/>
-        <source>Date and Time</source>
-        <translation>Datum und Zeit</translation>
-    </message>
-    <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1435"/>
-        <source>&lt;table&gt;&lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;Local Date and Time&lt;/th&gt;&lt;th&gt;Device Date and Time&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{0}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{1}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{3}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
-        <translation>&lt;table&gt;&lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;Lokales Datum und Zeit&lt;/th&gt;&lt;th&gt;Datum und Zeit des Gerätes&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Datum&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{0}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Zeit&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{1}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{3}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</translation>
-    </message>
-    <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1452"/>
-        <source>&lt;table&gt;&lt;tr&gt;&lt;th&gt;Local Date and Time&lt;/th&gt;&lt;th&gt;Device Date and Time&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&apos;center&apos;&gt;{0} {1}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
-        <translation>&lt;table&gt;&lt;tr&gt;&lt;th&gt;Lokales Datum und Zeit&lt;/th&gt;&lt;th&gt;Datum und Zeit des Gerätes&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&apos;center&apos;&gt;{0} {1}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</translation>
-    </message>
-    <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="373"/>
-        <source>Unknown MicroPython Device</source>
-        <translation>Unbekanntes MicroPython Gerät</translation>
-    </message>
-    <message>
         <location filename="../MicroPython/MicroPythonWidget.py" line="1275"/>
+        <source>Download Firmware</source>
+        <translation>Firmware herunterladen</translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1465"/>
+        <source>Date and Time</source>
+        <translation>Datum und Zeit</translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1448"/>
+        <source>&lt;table&gt;&lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;Local Date and Time&lt;/th&gt;&lt;th&gt;Device Date and Time&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{0}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{1}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{3}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
+        <translation>&lt;table&gt;&lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;Lokales Datum und Zeit&lt;/th&gt;&lt;th&gt;Datum und Zeit des Gerätes&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Datum&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{0}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Zeit&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{1}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{3}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1465"/>
+        <source>&lt;table&gt;&lt;tr&gt;&lt;th&gt;Local Date and Time&lt;/th&gt;&lt;th&gt;Device Date and Time&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&apos;center&apos;&gt;{0} {1}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
+        <translation>&lt;table&gt;&lt;tr&gt;&lt;th&gt;Lokales Datum und Zeit&lt;/th&gt;&lt;th&gt;Datum und Zeit des Gerätes&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&apos;center&apos;&gt;{0} {1}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="380"/>
+        <source>Unknown MicroPython Device</source>
+        <translation>Unbekanntes MicroPython Gerät</translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1288"/>
         <source>Ignored Serial Devices</source>
         <translation>Ignorierte Serielle Geräte</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1211"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1224"/>
         <source>Downloads</source>
         <translation>Downloads</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="310"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="313"/>
         <source>{0} - {1} ({2})</source>
         <comment>board name, description, port name</comment>
         <translation>{0} - {1} ({2})</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="345"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="352"/>
         <source>&lt;p&gt;Detected these unknown serial devices&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Please report them together with the board name and a short description to &lt;a href=&quot;mailto:{1}&quot;&gt; the eric bug reporting address&lt;/a&gt; if it is a MicroPython board.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Diese ubekannten seriellen Geräte wurden erkannt.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Falls es sich um ein MicroPython Board handelt, melden sie es bitte zusammen mit dem Boardnamen und einer Kurzbeschreibung an &lt;a href=&quot;mailto:{1}&quot;&gt; die eric Fehlermitteilungsadresse&lt;/a&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="373"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="380"/>
         <source>Would you like to add them to the list of manually configured devices?</source>
         <translation>Sollen sie zur Liste der manuell konfigurierten Geräte hinzugefügt werden?</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1273"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1286"/>
         <source>Manage Unknown Devices</source>
         <translation>Unbekannte Geräte verwalten</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1674"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1687"/>
         <source>Add Unknown Devices</source>
         <translation>Unbekannte Geräte hinzufügen</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1674"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1687"/>
         <source>Select the devices to be added:</source>
         <translation>Wähle die hinzuzufügenden unbekannten Geräte:</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="345"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="352"/>
         <source>{0} (0x{1:04x}/0x{2:04x})</source>
         <comment>description, VId, PId</comment>
         <translation>{0} (0x{1:04x}/0x{2:04x})</translation>
@@ -54241,82 +54255,82 @@
         <translation>PyBoard</translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="186"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="189"/>
         <source>Workspace Directory</source>
         <translation>Arbeitsverzeichnis</translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="225"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="228"/>
         <source>List DFU-capable Devices</source>
         <translation>Liste der DFU fähigen Geräte</translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="379"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="382"/>
         <source>Flash MicroPython Firmware</source>
         <translation>MicroPython Firmware flashen</translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="232"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="235"/>
         <source>MicroPython Flash Instructions</source>
         <translation>MicroPython Flashanweisungen</translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="262"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="265"/>
         <source>dfu-util not available</source>
         <translation>dfu-util ist nicht verfügbar</translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="262"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="265"/>
         <source>The dfu-util firmware flashing tool &lt;b&gt;dfu-util&lt;/b&gt; cannot be found or is not executable. Ensure it is in the search path or configure it on the MicroPython configuration page.</source>
         <translation>Das dfu-util Firmware Flashingprogramm &lt;b&gt;dfu-util&lt;/b&gt; kann nicht gefunden werden oder ist nicht ausführbar. Stelle sicher, dass es sich im Suchpfad befindet, oder konfiguriere es auf der MicroPython Konfigurationsseite.</translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="283"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="286"/>
         <source>&lt;h3&gt;Enable DFU Mode&lt;/h3&gt;&lt;p&gt;1. Disconnect everything from your board&lt;/p&gt;&lt;p&gt;2. Disconnect your board&lt;/p&gt;&lt;p&gt;3. Connect the DFU/BOOT0 pin with a 3.3V pin&lt;/p&gt;&lt;p&gt;4. Re-connect your board&lt;/p&gt;&lt;hr /&gt;</source>
         <translation>&lt;h3&gt;DFU Modus aktivieren&lt;/h3&gt;&lt;p&gt;1. Trenne alles von deinem Board&lt;/p&gt;&lt;p&gt;2. Trenne dein Board&lt;/p&gt;&lt;p&gt;3. Verbinde den DFU/BOOT0 pin mit dem 3,3V Pin&lt;/p&gt;&lt;p&gt;4. Verbinde dein Board wieder&lt;/p&gt;&lt;hr /&gt;</translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="293"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="296"/>
         <source>&lt;p&gt;&lt;b&gt;Warning:&lt;/b&gt; Make sure that all other DFU capable devices except your PyBoard are disconnected.&lt;hr /&gt;</source>
         <translation>&lt;p&gt;&lt;b&gt;Warnung:&lt;/b&gt; Stelle sicher, dass alle anderen DFU fähigen Geräte mit Ausnahme deines PyBoard getrennt sind.&lt;hr /&gt;</translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="299"/>
-        <source>&lt;p&gt;Press &lt;b&gt;OK&lt;/b&gt; to continue...&lt;/p&gt;</source>
-        <translation>&lt;p&gt;Drücke &lt;b&gt;OK&lt;/b&gt; zum Fortfahren...&lt;/p&gt;</translation>
-    </message>
-    <message>
         <location filename="../MicroPython/PyBoardDevices.py" line="302"/>
+        <source>&lt;p&gt;Press &lt;b&gt;OK&lt;/b&gt; to continue...&lt;/p&gt;</source>
+        <translation>&lt;p&gt;Drücke &lt;b&gt;OK&lt;/b&gt; zum Fortfahren...&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/PyBoardDevices.py" line="305"/>
         <source>Enable DFU mode</source>
         <translation>DFU Modus aktivieren</translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="316"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="319"/>
         <source>&lt;h3&gt;Disable DFU Mode&lt;/h3&gt;&lt;p&gt;1. Disconnect your board&lt;/p&gt;&lt;p&gt;2. Remove the DFU jumper&lt;/p&gt;&lt;p&gt;3. Re-connect your board&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Press &lt;b&gt;OK&lt;/b&gt; to continue...&lt;/p&gt;</source>
         <translation>&lt;h3&gt;DFU Modus deaktivieren&lt;/h3&gt;&lt;p&gt;1. Trenne dein BOard&lt;/p&gt;&lt;p&gt;2. Entferne die DFU Brücke&lt;/p&gt;&lt;p&gt;3. Verbinde dein Board wieder&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Drücke &lt;b&gt;OK&lt;/b&gt; zum Fortfahren...&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="324"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="327"/>
         <source>Disable DFU mode</source>
         <translation>DFU Modus deaktivieren</translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="379"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="382"/>
         <source>&apos;dfu-util&apos; Output</source>
         <translation>&apos;dfu-util&apos; Ausgabe</translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="345"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="348"/>
         <source>List DFU capable Devices</source>
         <translation>Liste der DFU fähigen Geräte</translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="367"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="370"/>
         <source>MicroPython Firmware Files (*.dfu);;All Files (*)</source>
         <translation>MicroPython Firmwaredateien (*.dfu);;Alle Dateien (*)</translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="186"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="189"/>
         <source>Python files for PyBoard can be edited in place, if the device volume is locally available. Such a volume was not found. In place editing will not be available.</source>
         <translation>Python Dateien für PyBoard können an Ort und Stelle bearbeitet werden, wenn das Geräteverzeichnis lokal verfügbar ist. Ein solches Verzeichnis konnte nicht gefunden werden. Direkte Bearbeitung ist nicht verfügbar.</translation>
     </message>
@@ -74309,43 +74323,43 @@
         <translation>{0} (0x{1:04x}/0x{2:04x})</translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="88"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="91"/>
         <source>{0} (*)</source>
         <comment>list entry is modified</comment>
         <translation>{0} (*)</translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="181"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="184"/>
         <source>Restore Unknown Devices</source>
         <translation>Unbekannte Geräte wiederherstellen</translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="181"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="184"/>
         <source>Restoring the list of unknown devices will overwrite all changes made. Do you really want to restore the list?</source>
         <translation>Die Wiederherstellung der Liste unbekannter Geräte wird alle Änderungen überschreiben. Soll die Liste wirklich wiederhergestellt werden?</translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="165"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="168"/>
         <source>Delete Unknown Devices</source>
         <translation>Löschen unbekannter Geräte</translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="147"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="150"/>
         <source>The selected entries contain some with modified data. Shall they really be deleted?</source>
         <translation>Die ausgewählten Einträge enthalten solche mit geänderten Daten. Sollen sie wirklich gelöscht werden?</translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="165"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="168"/>
         <source>The list contains some devices with modified data. Shall they really be deleted?</source>
         <translation>Die Liste enthält einige Geräte mit geänderten Daten.Sollen sie wirklich gelöscht werden?</translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="244"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="247"/>
         <source>Unsaved Data</source>
         <translation>Ungesicherte Daten</translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="244"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="247"/>
         <source>The list of devices contains some with modified data.</source>
         <translation>Die Geräteliste enthält einige mit geänderten Daten.</translation>
     </message>
@@ -84091,8 +84105,8 @@
     </message>
     <message>
         <location filename="../WebBrowser/WebBrowserView.py" line="666"/>
-        <source>Open Link in New Tab<byte value="x9"/>Ctrl+LMB</source>
-        <translation>Link in neuem Fenster öffnen<byte value="x9"/>Strg+LMK</translation>
+        <source>Open Link in New Tab	Ctrl+LMB</source>
+        <translation>Link in neuem Fenster öffnen	Strg+LMK</translation>
     </message>
     <message>
         <location filename="../WebBrowser/WebBrowserView.py" line="672"/>
--- a/eric6/i18n/eric6_empty.ts	Sat Feb 06 19:18:22 2021 +0100
+++ b/eric6/i18n/eric6_empty.ts	Sat Feb 06 19:22:22 2021 +0100
@@ -19207,6 +19207,19 @@
     </message>
 </context>
 <context>
+    <name>GenericMicroPythonDevice</name>
+    <message>
+        <location filename="../MicroPython/GenericMicroPythonDevices.py" line="194"/>
+        <source>Workspace Directory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/GenericMicroPythonDevices.py" line="194"/>
+        <source>Python files for this generic board can be edited in place, if the device volume is locally available. A volume named &apos;{0}&apos; was not found. In place editing will not be available.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>Git</name>
     <message>
         <location filename="../Plugins/VcsPlugins/vcsGit/git.py" line="205"/>
@@ -43513,42 +43526,42 @@
 <context>
     <name>MicroPythonDevice</name>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="297"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="306"/>
         <source>Unsupported Device</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="307"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="316"/>
         <source>REPL is not supported by this device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="326"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="335"/>
         <source>Plotter is not supported by this device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="345"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="354"/>
         <source>Running scripts is not supported by this device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="365"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="374"/>
         <source>File Manager is not supported by this device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="410"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="417"/>
         <source>Select Device Directory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="410"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="417"/>
         <source>Select the directory for the connected device:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="113"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="112"/>
         <source>Generic Board</source>
         <translation type="unfinished"></translation>
     </message>
@@ -44151,54 +44164,54 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="516"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="529"/>
         <source>Press to connect the selected device</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="267"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="271"/>
         <source>&lt;h3&gt;The QtSerialPort package is not available.&lt;br/&gt;MicroPython support is deactivated.&lt;/h3&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location filename="../MicroPython/MicroPythonWidget.py" line="304"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="308"/>
         <source>%n supported device(s) detected.</source>
         <translation type="unfinished">
             <numerusform></numerusform>
         </translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="323"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="330"/>
         <source>No supported devices detected.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="486"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="499"/>
         <source>Clear</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="488"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="501"/>
         <source>Copy</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="489"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="502"/>
         <source>Paste</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="511"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="524"/>
         <source>Press to disconnect the current device</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="532"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="545"/>
         <source>No device attached</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="532"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="545"/>
         <source>Please ensure the device is plugged into your computer and selected.
 
 It must have a version of MicroPython (or CircuitPython) flashed onto it before anything will work.
@@ -44207,217 +44220,217 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="559"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="572"/>
         <source>Start REPL</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="559"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="572"/>
         <source>&lt;p&gt;The REPL cannot be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="961"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="974"/>
         <source>Serial Device Connect</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="961"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="974"/>
         <source>&lt;p&gt;Cannot connect to device at serial port &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1006"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1019"/>
         <source>Run Script</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="989"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1002"/>
         <source>There is no editor open. Abort...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="997"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1010"/>
         <source>The current editor does not contain a script. Abort...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1006"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1019"/>
         <source>&lt;p&gt;Cannot run script.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1030"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1043"/>
         <source>Open Python File</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1030"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1043"/>
         <source>Python3 Files (*.py);;All Files (*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1075"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1088"/>
         <source>Start Chart</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1075"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1088"/>
         <source>&lt;p&gt;The Chart cannot be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1104"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1117"/>
         <source>Unsaved Chart Data</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1104"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1117"/>
         <source>The chart contains unsaved data.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1155"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1168"/>
         <source>Start File Manager</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1155"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1168"/>
         <source>&lt;p&gt;The File Manager cannot be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1226"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1239"/>
         <source>Show Version</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1229"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1242"/>
         <source>Show Implementation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1351"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1364"/>
         <source>Synchronize Time</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1237"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1250"/>
         <source>Show Device Time</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1240"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1253"/>
         <source>Show Local Time</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1569"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1582"/>
         <source>Compile Python File</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1589"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1602"/>
         <source>Compile Current Editor</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1288"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1301"/>
         <source>&lt;h3&gt;Device Version Information&lt;/h3&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1297"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1310"/>
         <source>No version information available.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1299"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1312"/>
         <source>Device Version Information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1322"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1335"/>
         <source>unknown</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1326"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1339"/>
         <source>Device Implementation Information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1326"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1339"/>
         <source>&lt;h3&gt;Device Implementation Information&lt;/h3&gt;&lt;p&gt;This device contains &lt;b&gt;{0} {1}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1351"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1364"/>
         <source>&lt;p&gt;The time of the connected device was synchronized with the local time.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1373"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1386"/>
         <source>&lt;h3&gt;Device Date and Time&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1381"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1394"/>
         <source>&lt;h3&gt;Device Date and Time&lt;/h3&gt;&lt;p&gt;{0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1396"/>
-        <source>Device Date and Time</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../MicroPython/MicroPythonWidget.py" line="1409"/>
+        <source>Device Date and Time</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1422"/>
         <source>Local Date and Time</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1409"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1422"/>
         <source>&lt;h3&gt;Local Date and Time&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1477"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1490"/>
         <source>Error handling device</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1477"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1490"/>
         <source>&lt;p&gt;There was an error communicating with the connected device.&lt;/p&gt;&lt;p&gt;Method: {0}&lt;/p&gt;&lt;p&gt;Message: {1}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1517"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1530"/>
         <source>The MicroPython cross compiler &lt;b&gt;mpy-cross&lt;/b&gt; cannot be found. Ensure it is in the search path or configure it on the MicroPython configuration page.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1539"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1552"/>
         <source>Python Files (*.py);;All Files (*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1549"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1562"/>
         <source>The Python file &lt;b&gt;{0}&lt;/b&gt; does not exist. Aborting...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1559"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1572"/>
         <source>&apos;mpy-cross&apos; Output</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1582"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1595"/>
         <source>The current editor does not contain a Python file. Aborting...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="215"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="219"/>
         <source>MicroPython Menu</source>
         <translation type="unfinished"></translation>
     </message>
@@ -44427,99 +44440,99 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1088"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1101"/>
         <source>&#xc2;&#xb5;Py Chart</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1171"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1184"/>
         <source>&#xc2;&#xb5;Py Files</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1269"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1282"/>
         <source>Show Documentation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1278"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1291"/>
         <source>Configure</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1243"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1256"/>
         <source>Show Time</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1262"/>
-        <source>Download Firmware</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1452"/>
-        <source>Date and Time</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1435"/>
-        <source>&lt;table&gt;&lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;Local Date and Time&lt;/th&gt;&lt;th&gt;Device Date and Time&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{0}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{1}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{3}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1452"/>
-        <source>&lt;table&gt;&lt;tr&gt;&lt;th&gt;Local Date and Time&lt;/th&gt;&lt;th&gt;Device Date and Time&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&apos;center&apos;&gt;{0} {1}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="373"/>
-        <source>Unknown MicroPython Device</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../MicroPython/MicroPythonWidget.py" line="1275"/>
+        <source>Download Firmware</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1465"/>
+        <source>Date and Time</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1448"/>
+        <source>&lt;table&gt;&lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;Local Date and Time&lt;/th&gt;&lt;th&gt;Device Date and Time&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{0}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{1}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{3}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1465"/>
+        <source>&lt;table&gt;&lt;tr&gt;&lt;th&gt;Local Date and Time&lt;/th&gt;&lt;th&gt;Device Date and Time&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&apos;center&apos;&gt;{0} {1}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="380"/>
+        <source>Unknown MicroPython Device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1288"/>
         <source>Ignored Serial Devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1211"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1224"/>
         <source>Downloads</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="310"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="313"/>
         <source>{0} - {1} ({2})</source>
         <comment>board name, description, port name</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="345"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="352"/>
         <source>&lt;p&gt;Detected these unknown serial devices&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Please report them together with the board name and a short description to &lt;a href=&quot;mailto:{1}&quot;&gt; the eric bug reporting address&lt;/a&gt; if it is a MicroPython board.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="345"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="352"/>
         <source>{0} (0x{1:04x}/0x{2:04x})</source>
         <comment>description, VId, PId</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="373"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="380"/>
         <source>Would you like to add them to the list of manually configured devices?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1273"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1286"/>
         <source>Manage Unknown Devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1674"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1687"/>
         <source>Add Unknown Devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1674"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1687"/>
         <source>Select the devices to be added:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -53985,82 +53998,82 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="186"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="189"/>
         <source>Workspace Directory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="225"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="228"/>
         <source>List DFU-capable Devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="379"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="382"/>
         <source>Flash MicroPython Firmware</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="232"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="235"/>
         <source>MicroPython Flash Instructions</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="262"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="265"/>
         <source>dfu-util not available</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="262"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="265"/>
         <source>The dfu-util firmware flashing tool &lt;b&gt;dfu-util&lt;/b&gt; cannot be found or is not executable. Ensure it is in the search path or configure it on the MicroPython configuration page.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="283"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="286"/>
         <source>&lt;h3&gt;Enable DFU Mode&lt;/h3&gt;&lt;p&gt;1. Disconnect everything from your board&lt;/p&gt;&lt;p&gt;2. Disconnect your board&lt;/p&gt;&lt;p&gt;3. Connect the DFU/BOOT0 pin with a 3.3V pin&lt;/p&gt;&lt;p&gt;4. Re-connect your board&lt;/p&gt;&lt;hr /&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="293"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="296"/>
         <source>&lt;p&gt;&lt;b&gt;Warning:&lt;/b&gt; Make sure that all other DFU capable devices except your PyBoard are disconnected.&lt;hr /&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="299"/>
-        <source>&lt;p&gt;Press &lt;b&gt;OK&lt;/b&gt; to continue...&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../MicroPython/PyBoardDevices.py" line="302"/>
+        <source>&lt;p&gt;Press &lt;b&gt;OK&lt;/b&gt; to continue...&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/PyBoardDevices.py" line="305"/>
         <source>Enable DFU mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="316"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="319"/>
         <source>&lt;h3&gt;Disable DFU Mode&lt;/h3&gt;&lt;p&gt;1. Disconnect your board&lt;/p&gt;&lt;p&gt;2. Remove the DFU jumper&lt;/p&gt;&lt;p&gt;3. Re-connect your board&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Press &lt;b&gt;OK&lt;/b&gt; to continue...&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="324"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="327"/>
         <source>Disable DFU mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="379"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="382"/>
         <source>&apos;dfu-util&apos; Output</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="345"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="348"/>
         <source>List DFU capable Devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="367"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="370"/>
         <source>MicroPython Firmware Files (*.dfu);;All Files (*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="186"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="189"/>
         <source>Python files for PyBoard can be edited in place, if the device volume is locally available. Such a volume was not found. In place editing will not be available.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -73748,43 +73761,43 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="88"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="91"/>
         <source>{0} (*)</source>
         <comment>list entry is modified</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="165"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="168"/>
         <source>Delete Unknown Devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="147"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="150"/>
         <source>The selected entries contain some with modified data. Shall they really be deleted?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="165"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="168"/>
         <source>The list contains some devices with modified data. Shall they really be deleted?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="181"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="184"/>
         <source>Restore Unknown Devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="181"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="184"/>
         <source>Restoring the list of unknown devices will overwrite all changes made. Do you really want to restore the list?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="244"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="247"/>
         <source>Unsaved Data</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="244"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="247"/>
         <source>The list of devices contains some with modified data.</source>
         <translation type="unfinished"></translation>
     </message>
--- a/eric6/i18n/eric6_en.ts	Sat Feb 06 19:18:22 2021 +0100
+++ b/eric6/i18n/eric6_en.ts	Sat Feb 06 19:22:22 2021 +0100
@@ -19224,6 +19224,19 @@
     </message>
 </context>
 <context>
+    <name>GenericMicroPythonDevice</name>
+    <message>
+        <location filename="../MicroPython/GenericMicroPythonDevices.py" line="194"/>
+        <source>Workspace Directory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/GenericMicroPythonDevices.py" line="194"/>
+        <source>Python files for this generic board can be edited in place, if the device volume is locally available. A volume named &apos;{0}&apos; was not found. In place editing will not be available.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>Git</name>
     <message>
         <location filename="../Plugins/VcsPlugins/vcsGit/git.py" line="205"/>
@@ -43553,42 +43566,42 @@
 <context>
     <name>MicroPythonDevice</name>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="297"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="306"/>
         <source>Unsupported Device</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="307"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="316"/>
         <source>REPL is not supported by this device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="326"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="335"/>
         <source>Plotter is not supported by this device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="345"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="354"/>
         <source>Running scripts is not supported by this device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="365"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="374"/>
         <source>File Manager is not supported by this device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="410"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="417"/>
         <source>Select Device Directory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="410"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="417"/>
         <source>Select the directory for the connected device:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="113"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="112"/>
         <source>Generic Board</source>
         <translation type="unfinished"></translation>
     </message>
@@ -44191,17 +44204,17 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="516"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="529"/>
         <source>Press to connect the selected device</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="267"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="271"/>
         <source>&lt;h3&gt;The QtSerialPort package is not available.&lt;br/&gt;MicroPython support is deactivated.&lt;/h3&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location filename="../MicroPython/MicroPythonWidget.py" line="304"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="308"/>
         <source>%n supported device(s) detected.</source>
         <translation>
             <numerusform>%n supported device detected.</numerusform>
@@ -44209,37 +44222,37 @@
         </translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="323"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="330"/>
         <source>No supported devices detected.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="486"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="499"/>
         <source>Clear</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="488"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="501"/>
         <source>Copy</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="489"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="502"/>
         <source>Paste</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="511"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="524"/>
         <source>Press to disconnect the current device</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="532"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="545"/>
         <source>No device attached</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="532"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="545"/>
         <source>Please ensure the device is plugged into your computer and selected.
 
 It must have a version of MicroPython (or CircuitPython) flashed onto it before anything will work.
@@ -44248,217 +44261,217 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="559"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="572"/>
         <source>Start REPL</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="559"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="572"/>
         <source>&lt;p&gt;The REPL cannot be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="961"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="974"/>
         <source>Serial Device Connect</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="961"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="974"/>
         <source>&lt;p&gt;Cannot connect to device at serial port &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1006"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1019"/>
         <source>Run Script</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="989"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1002"/>
         <source>There is no editor open. Abort...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="997"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1010"/>
         <source>The current editor does not contain a script. Abort...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1006"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1019"/>
         <source>&lt;p&gt;Cannot run script.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1030"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1043"/>
         <source>Open Python File</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1030"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1043"/>
         <source>Python3 Files (*.py);;All Files (*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1075"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1088"/>
         <source>Start Chart</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1075"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1088"/>
         <source>&lt;p&gt;The Chart cannot be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1104"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1117"/>
         <source>Unsaved Chart Data</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1104"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1117"/>
         <source>The chart contains unsaved data.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1155"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1168"/>
         <source>Start File Manager</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1155"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1168"/>
         <source>&lt;p&gt;The File Manager cannot be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1226"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1239"/>
         <source>Show Version</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1229"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1242"/>
         <source>Show Implementation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1351"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1364"/>
         <source>Synchronize Time</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1237"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1250"/>
         <source>Show Device Time</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1240"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1253"/>
         <source>Show Local Time</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1569"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1582"/>
         <source>Compile Python File</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1589"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1602"/>
         <source>Compile Current Editor</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1288"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1301"/>
         <source>&lt;h3&gt;Device Version Information&lt;/h3&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1297"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1310"/>
         <source>No version information available.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1299"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1312"/>
         <source>Device Version Information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1322"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1335"/>
         <source>unknown</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1326"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1339"/>
         <source>Device Implementation Information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1326"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1339"/>
         <source>&lt;h3&gt;Device Implementation Information&lt;/h3&gt;&lt;p&gt;This device contains &lt;b&gt;{0} {1}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1351"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1364"/>
         <source>&lt;p&gt;The time of the connected device was synchronized with the local time.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1373"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1386"/>
         <source>&lt;h3&gt;Device Date and Time&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1381"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1394"/>
         <source>&lt;h3&gt;Device Date and Time&lt;/h3&gt;&lt;p&gt;{0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1396"/>
-        <source>Device Date and Time</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../MicroPython/MicroPythonWidget.py" line="1409"/>
+        <source>Device Date and Time</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1422"/>
         <source>Local Date and Time</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1409"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1422"/>
         <source>&lt;h3&gt;Local Date and Time&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1477"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1490"/>
         <source>Error handling device</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1477"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1490"/>
         <source>&lt;p&gt;There was an error communicating with the connected device.&lt;/p&gt;&lt;p&gt;Method: {0}&lt;/p&gt;&lt;p&gt;Message: {1}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1517"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1530"/>
         <source>The MicroPython cross compiler &lt;b&gt;mpy-cross&lt;/b&gt; cannot be found. Ensure it is in the search path or configure it on the MicroPython configuration page.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1539"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1552"/>
         <source>Python Files (*.py);;All Files (*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1549"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1562"/>
         <source>The Python file &lt;b&gt;{0}&lt;/b&gt; does not exist. Aborting...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1559"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1572"/>
         <source>&apos;mpy-cross&apos; Output</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1582"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1595"/>
         <source>The current editor does not contain a Python file. Aborting...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="215"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="219"/>
         <source>MicroPython Menu</source>
         <translation type="unfinished"></translation>
     </message>
@@ -44468,99 +44481,99 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1088"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1101"/>
         <source>&#xc2;&#xb5;Py Chart</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1171"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1184"/>
         <source>&#xc2;&#xb5;Py Files</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1269"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1282"/>
         <source>Show Documentation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1278"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1291"/>
         <source>Configure</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1243"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1256"/>
         <source>Show Time</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1262"/>
-        <source>Download Firmware</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1452"/>
-        <source>Date and Time</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1435"/>
-        <source>&lt;table&gt;&lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;Local Date and Time&lt;/th&gt;&lt;th&gt;Device Date and Time&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{0}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{1}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{3}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1452"/>
-        <source>&lt;table&gt;&lt;tr&gt;&lt;th&gt;Local Date and Time&lt;/th&gt;&lt;th&gt;Device Date and Time&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&apos;center&apos;&gt;{0} {1}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="373"/>
-        <source>Unknown MicroPython Device</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../MicroPython/MicroPythonWidget.py" line="1275"/>
+        <source>Download Firmware</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1465"/>
+        <source>Date and Time</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1448"/>
+        <source>&lt;table&gt;&lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;Local Date and Time&lt;/th&gt;&lt;th&gt;Device Date and Time&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{0}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{1}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{3}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1465"/>
+        <source>&lt;table&gt;&lt;tr&gt;&lt;th&gt;Local Date and Time&lt;/th&gt;&lt;th&gt;Device Date and Time&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&apos;center&apos;&gt;{0} {1}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="380"/>
+        <source>Unknown MicroPython Device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1288"/>
         <source>Ignored Serial Devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1211"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1224"/>
         <source>Downloads</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="310"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="313"/>
         <source>{0} - {1} ({2})</source>
         <comment>board name, description, port name</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="345"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="352"/>
         <source>&lt;p&gt;Detected these unknown serial devices&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Please report them together with the board name and a short description to &lt;a href=&quot;mailto:{1}&quot;&gt; the eric bug reporting address&lt;/a&gt; if it is a MicroPython board.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="345"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="352"/>
         <source>{0} (0x{1:04x}/0x{2:04x})</source>
         <comment>description, VId, PId</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="373"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="380"/>
         <source>Would you like to add them to the list of manually configured devices?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1273"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1286"/>
         <source>Manage Unknown Devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1674"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1687"/>
         <source>Add Unknown Devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1674"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1687"/>
         <source>Select the devices to be added:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -54028,82 +54041,82 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="186"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="189"/>
         <source>Workspace Directory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="225"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="228"/>
         <source>List DFU-capable Devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="379"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="382"/>
         <source>Flash MicroPython Firmware</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="232"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="235"/>
         <source>MicroPython Flash Instructions</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="262"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="265"/>
         <source>dfu-util not available</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="262"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="265"/>
         <source>The dfu-util firmware flashing tool &lt;b&gt;dfu-util&lt;/b&gt; cannot be found or is not executable. Ensure it is in the search path or configure it on the MicroPython configuration page.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="283"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="286"/>
         <source>&lt;h3&gt;Enable DFU Mode&lt;/h3&gt;&lt;p&gt;1. Disconnect everything from your board&lt;/p&gt;&lt;p&gt;2. Disconnect your board&lt;/p&gt;&lt;p&gt;3. Connect the DFU/BOOT0 pin with a 3.3V pin&lt;/p&gt;&lt;p&gt;4. Re-connect your board&lt;/p&gt;&lt;hr /&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="293"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="296"/>
         <source>&lt;p&gt;&lt;b&gt;Warning:&lt;/b&gt; Make sure that all other DFU capable devices except your PyBoard are disconnected.&lt;hr /&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="299"/>
-        <source>&lt;p&gt;Press &lt;b&gt;OK&lt;/b&gt; to continue...&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../MicroPython/PyBoardDevices.py" line="302"/>
+        <source>&lt;p&gt;Press &lt;b&gt;OK&lt;/b&gt; to continue...&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/PyBoardDevices.py" line="305"/>
         <source>Enable DFU mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="316"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="319"/>
         <source>&lt;h3&gt;Disable DFU Mode&lt;/h3&gt;&lt;p&gt;1. Disconnect your board&lt;/p&gt;&lt;p&gt;2. Remove the DFU jumper&lt;/p&gt;&lt;p&gt;3. Re-connect your board&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Press &lt;b&gt;OK&lt;/b&gt; to continue...&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="324"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="327"/>
         <source>Disable DFU mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="379"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="382"/>
         <source>&apos;dfu-util&apos; Output</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="345"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="348"/>
         <source>List DFU capable Devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="367"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="370"/>
         <source>MicroPython Firmware Files (*.dfu);;All Files (*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="186"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="189"/>
         <source>Python files for PyBoard can be edited in place, if the device volume is locally available. Such a volume was not found. In place editing will not be available.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -73795,43 +73808,43 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="88"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="91"/>
         <source>{0} (*)</source>
         <comment>list entry is modified</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="165"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="168"/>
         <source>Delete Unknown Devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="147"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="150"/>
         <source>The selected entries contain some with modified data. Shall they really be deleted?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="165"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="168"/>
         <source>The list contains some devices with modified data. Shall they really be deleted?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="181"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="184"/>
         <source>Restore Unknown Devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="181"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="184"/>
         <source>Restoring the list of unknown devices will overwrite all changes made. Do you really want to restore the list?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="244"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="247"/>
         <source>Unsaved Data</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="244"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="247"/>
         <source>The list of devices contains some with modified data.</source>
         <translation type="unfinished"></translation>
     </message>
--- a/eric6/i18n/eric6_es.ts	Sat Feb 06 19:18:22 2021 +0100
+++ b/eric6/i18n/eric6_es.ts	Sat Feb 06 19:22:22 2021 +0100
@@ -19615,6 +19615,19 @@
     </message>
 </context>
 <context>
+    <name>GenericMicroPythonDevice</name>
+    <message>
+        <location filename="../MicroPython/GenericMicroPythonDevices.py" line="194"/>
+        <source>Workspace Directory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/GenericMicroPythonDevices.py" line="194"/>
+        <source>Python files for this generic board can be edited in place, if the device volume is locally available. A volume named &apos;{0}&apos; was not found. In place editing will not be available.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>Git</name>
     <message>
         <location filename="../Plugins/VcsPlugins/vcsGit/git.py" line="205"/>
@@ -44035,42 +44048,42 @@
 <context>
     <name>MicroPythonDevice</name>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="297"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="306"/>
         <source>Unsupported Device</source>
         <translation>Dispositivo no soportado</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="307"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="316"/>
         <source>REPL is not supported by this device.</source>
         <translation>REPL no soportado por este dispositivo.</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="326"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="335"/>
         <source>Plotter is not supported by this device.</source>
         <translation>Plotter no soportado por este dispositivo.</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="345"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="354"/>
         <source>Running scripts is not supported by this device.</source>
         <translation>La ejecución de scripts no está soportada por este dispositivo.</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="365"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="374"/>
         <source>File Manager is not supported by this device.</source>
         <translation>El Gestor de Archovos no está soportado por este dispositivo.</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="410"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="417"/>
         <source>Select Device Directory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="410"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="417"/>
         <source>Select the directory for the connected device:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="113"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="112"/>
         <source>Generic Board</source>
         <translation type="unfinished"></translation>
     </message>
@@ -44673,17 +44686,17 @@
         <translation>Pulsar para abrir una ventana de gráfica para mostrar datos recibidos desde el dispositivo seleccionado</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="516"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="529"/>
         <source>Press to connect the selected device</source>
         <translation>Pulsar para conectar el dispositivo seleccionado</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="267"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="271"/>
         <source>&lt;h3&gt;The QtSerialPort package is not available.&lt;br/&gt;MicroPython support is deactivated.&lt;/h3&gt;</source>
         <translation>&lt;h3&gt;El package QtSerialPort no está disponible.&lt;br/&gt;Soporte para MicroPython desactivado.&lt;/h3&gt;</translation>
     </message>
     <message numerus="yes">
-        <location filename="../MicroPython/MicroPythonWidget.py" line="304"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="308"/>
         <source>%n supported device(s) detected.</source>
         <translation>
             <numerusform>%n dispositivo soportado detectado.</numerusform>
@@ -44696,37 +44709,37 @@
         <translation type="obsolete">{0} en {1}</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="323"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="330"/>
         <source>No supported devices detected.</source>
         <translation>No se han detectado dispositivos soportados.</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="486"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="499"/>
         <source>Clear</source>
         <translation>Limpiar</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="488"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="501"/>
         <source>Copy</source>
         <translation>Copiar</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="489"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="502"/>
         <source>Paste</source>
         <translation>Pegar</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="511"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="524"/>
         <source>Press to disconnect the current device</source>
         <translation>Pulsar para desconectar el dispositivo seleccionado</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="532"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="545"/>
         <source>No device attached</source>
         <translation>No hay dispositivo conectado</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="532"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="545"/>
         <source>Please ensure the device is plugged into your computer and selected.
 
 It must have a version of MicroPython (or CircuitPython) flashed onto it before anything will work.
@@ -44739,217 +44752,217 @@
 Finalmente, pulsar el botón de reset del dispositivo y esperar unos pocos segundos antes de intentar de nuevo.</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="559"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="572"/>
         <source>Start REPL</source>
         <translation>Iniciar REPL</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="559"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="572"/>
         <source>&lt;p&gt;The REPL cannot be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation>&lt;p&gt;El REPL no se puede iniciar.&lt;/p&gt;&lt;p&gt;Razón: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="961"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="974"/>
         <source>Serial Device Connect</source>
         <translation>Conexión de Dispositivo en Serie</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="961"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="974"/>
         <source>&lt;p&gt;Cannot connect to device at serial port &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation>&lt;p&gt;No se puede conectar el dispositovo en el puerto de serie &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1006"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1019"/>
         <source>Run Script</source>
         <translation>Ejecutar Script</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="989"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1002"/>
         <source>There is no editor open. Abort...</source>
         <translation>No hay editor abierto. Abortando...</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="997"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1010"/>
         <source>The current editor does not contain a script. Abort...</source>
         <translation>El editor actual no contiene un script. Abortando...</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1006"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1019"/>
         <source>&lt;p&gt;Cannot run script.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation>&lt;p&gt;No se puede ejecutar el script.&lt;/p&gt;&lt;p&gt;Razón: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1030"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1043"/>
         <source>Open Python File</source>
         <translation>Abrir Archivo de Python</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1030"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1043"/>
         <source>Python3 Files (*.py);;All Files (*)</source>
         <translation>Archivos de Python3 (*.py);;Todos los Archivos (*)</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1075"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1088"/>
         <source>Start Chart</source>
         <translation>Iniciar Gráfica</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1075"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1088"/>
         <source>&lt;p&gt;The Chart cannot be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation>&lt;p&gt;No se puede iniciar la gráfica.&lt;/p&gt;&lt;p&gt;Razón: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1104"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1117"/>
         <source>Unsaved Chart Data</source>
         <translation>Datos de Gráfica sin Guardar</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1104"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1117"/>
         <source>The chart contains unsaved data.</source>
         <translation>La gráfica contiene datos sin guardar.</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1155"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1168"/>
         <source>Start File Manager</source>
         <translation>Comenzar Gestor de Archivos</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1155"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1168"/>
         <source>&lt;p&gt;The File Manager cannot be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation>&lt;p&gt;El Gestor de Archivos no se puede iniciar.&lt;/p&gt;&lt;p&gt;Razón: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1226"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1239"/>
         <source>Show Version</source>
         <translation>Mostrar Versión</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1229"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1242"/>
         <source>Show Implementation</source>
         <translation>Mostrar Implementación</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1351"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1364"/>
         <source>Synchronize Time</source>
         <translation>Sincronizar Hora</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1237"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1250"/>
         <source>Show Device Time</source>
         <translation>Mostrar Hora del Dispositivo</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1240"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1253"/>
         <source>Show Local Time</source>
         <translation>Mostrar Hora Local</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1569"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1582"/>
         <source>Compile Python File</source>
         <translation>Compilar Archivo de Python</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1589"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1602"/>
         <source>Compile Current Editor</source>
         <translation>Compilar Editor Actual</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1288"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1301"/>
         <source>&lt;h3&gt;Device Version Information&lt;/h3&gt;</source>
         <translation>&lt;h3&gt;Información de Versión de Dispositivo&lt;/h3&gt;</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1297"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1310"/>
         <source>No version information available.</source>
         <translation>No hay información de versión disponible.</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1299"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1312"/>
         <source>Device Version Information</source>
         <translation>Información de Versión de Dispositivo</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1322"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1335"/>
         <source>unknown</source>
         <translation>desconocido</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1326"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1339"/>
         <source>Device Implementation Information</source>
         <translation>Información de Implementación de Dispositivo</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1326"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1339"/>
         <source>&lt;h3&gt;Device Implementation Information&lt;/h3&gt;&lt;p&gt;This device contains &lt;b&gt;{0} {1}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation>&lt;h3&gt;Información de Implementación de Dispositivo &lt;/h3&gt;&lt;p&gt;Este dispositivo contiene &lt;b&gt;{0} {1}&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1351"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1364"/>
         <source>&lt;p&gt;The time of the connected device was synchronized with the local time.&lt;/p&gt;</source>
         <translation>&lt;p&gt;La hora del dispositivo conectado está sincronizada con la hora local.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1373"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1386"/>
         <source>&lt;h3&gt;Device Date and Time&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
         <translation>&lt;h3&gt;Fecha y Hora del Dispositivo&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Fecha&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Hora&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1381"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1394"/>
         <source>&lt;h3&gt;Device Date and Time&lt;/h3&gt;&lt;p&gt;{0}&lt;/p&gt;</source>
         <translation>&lt;h3&gt;Fecha y Hora del Dispositivo&lt;/h3&gt;&lt;p&gt;{0}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1396"/>
-        <source>Device Date and Time</source>
-        <translation>Fecha y Hora del Dispositivo</translation>
-    </message>
-    <message>
         <location filename="../MicroPython/MicroPythonWidget.py" line="1409"/>
+        <source>Device Date and Time</source>
+        <translation>Fecha y Hora del Dispositivo</translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1422"/>
         <source>Local Date and Time</source>
         <translation>Fecha y Hora Local</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1409"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1422"/>
         <source>&lt;h3&gt;Local Date and Time&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
         <translation>&lt;h3&gt;Fecha y Hora del Local&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Fecha&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Hora&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1477"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1490"/>
         <source>Error handling device</source>
         <translation>Error de gestión del dispositivo</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1477"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1490"/>
         <source>&lt;p&gt;There was an error communicating with the connected device.&lt;/p&gt;&lt;p&gt;Method: {0}&lt;/p&gt;&lt;p&gt;Message: {1}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Ha ocurrido un error al comunicar con el dispositivo conectado.&lt;/p&gt;&lt;p&gt;Método: {0}&lt;/p&gt;&lt;p&gt;Mensaje: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1517"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1530"/>
         <source>The MicroPython cross compiler &lt;b&gt;mpy-cross&lt;/b&gt; cannot be found. Ensure it is in the search path or configure it on the MicroPython configuration page.</source>
         <translation>El compilador multiplataforma de MicroPython &lt;b&gt;mpy-cross&lt;/b&gt; no se encuentra. Asegúrese de que está en la ruta de búsqueda o configurarlo en la página de configuración de MicroPython.</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1539"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1552"/>
         <source>Python Files (*.py);;All Files (*)</source>
         <translation>Archivos Python (*.py);;Todos los Archivos (*)</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1549"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1562"/>
         <source>The Python file &lt;b&gt;{0}&lt;/b&gt; does not exist. Aborting...</source>
         <translation>El archivo de Python &lt;b&gt;{0}&lt;/b&gt; no existe. Abortando...</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1559"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1572"/>
         <source>&apos;mpy-cross&apos; Output</source>
         <translation>Salida de &apos;mpy-cross&apos;</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1582"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1595"/>
         <source>The current editor does not contain a Python file. Aborting...</source>
         <translation>El editor actual no contiene un archivo de Python. Abortando...</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="215"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="219"/>
         <source>MicroPython Menu</source>
         <translation>Menú de MicroPython</translation>
     </message>
@@ -44959,52 +44972,52 @@
         <translation>Pulsar para abrir un gestor de archivos en el dispositivo seleccionado</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1088"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1101"/>
         <source>&#xc2;&#xb5;Py Chart</source>
         <translation>Gráfica µPy</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1171"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1184"/>
         <source>&#xc2;&#xb5;Py Files</source>
         <translation>Archivos µPy</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1269"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1282"/>
         <source>Show Documentation</source>
         <translation>Mostrar Documentación</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1278"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1291"/>
         <source>Configure</source>
         <translation>Configurar</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1243"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1256"/>
         <source>Show Time</source>
         <translation>Mostrar Tiempo</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1262"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1275"/>
         <source>Download Firmware</source>
         <translation>Descargar Firmware</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1452"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1465"/>
         <source>Date and Time</source>
         <translation>Fecha y Hora</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1435"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1448"/>
         <source>&lt;table&gt;&lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;Local Date and Time&lt;/th&gt;&lt;th&gt;Device Date and Time&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{0}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{1}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{3}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
         <translation>&lt;table&gt;&lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;Fecha y Hora Local&lt;/th&gt;&lt;th&gt;Fecha y Hora del Dispositivo&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Fecha&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{0}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Hora&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{1}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{3}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1452"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1465"/>
         <source>&lt;table&gt;&lt;tr&gt;&lt;th&gt;Local Date and Time&lt;/th&gt;&lt;th&gt;Device Date and Time&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&apos;center&apos;&gt;{0} {1}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
         <translation>&lt;table&gt;&lt;tr&gt;&lt;th&gt;Fecha y Hora Local&lt;/th&gt;&lt;th&gt;Fecha y Hora del Dispositivo&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&apos;center&apos;&gt;{0} {1}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="373"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="380"/>
         <source>Unknown MicroPython Device</source>
         <translation>Dispositivo MicroPython Desconocido</translation>
     </message>
@@ -45019,49 +45032,49 @@
         <translation type="obsolete">{0} ({1:04x}/{2:04x})</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1275"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1288"/>
         <source>Ignored Serial Devices</source>
         <translation>Dispositivos de Serie Ignorados</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1211"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1224"/>
         <source>Downloads</source>
         <translation type="unfinished">Descargas</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="310"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="313"/>
         <source>{0} - {1} ({2})</source>
         <comment>board name, description, port name</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="345"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="352"/>
         <source>&lt;p&gt;Detected these unknown serial devices&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Please report them together with the board name and a short description to &lt;a href=&quot;mailto:{1}&quot;&gt; the eric bug reporting address&lt;/a&gt; if it is a MicroPython board.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="345"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="352"/>
         <source>{0} (0x{1:04x}/0x{2:04x})</source>
         <comment>description, VId, PId</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="373"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="380"/>
         <source>Would you like to add them to the list of manually configured devices?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1273"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1286"/>
         <source>Manage Unknown Devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1674"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1687"/>
         <source>Add Unknown Devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1674"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1687"/>
         <source>Select the devices to be added:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -54736,7 +54749,7 @@
         <translation>PyBoard</translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="186"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="189"/>
         <source>Workspace Directory</source>
         <translation>Directorio del Workspace</translation>
     </message>
@@ -54746,77 +54759,77 @@
         <translation type="obsolete">Los archivos de Python  para dispositivos PyBoard se almacenan en el dispositivo. Por tanto, para editar esos archivos se necesita tener el dispositivo conectado. Hasta que se conecte un dispositivo, se utilizará el directorio estándar.</translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="225"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="228"/>
         <source>List DFU-capable Devices</source>
         <translation>Listar Dispositivos con capacidad DFU</translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="379"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="382"/>
         <source>Flash MicroPython Firmware</source>
         <translation>Flash MicroPython Firmware</translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="232"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="235"/>
         <source>MicroPython Flash Instructions</source>
         <translation>Instrucciones para MicroPython Flash</translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="262"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="265"/>
         <source>dfu-util not available</source>
         <translation>dfu-util no está disponible</translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="262"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="265"/>
         <source>The dfu-util firmware flashing tool &lt;b&gt;dfu-util&lt;/b&gt; cannot be found or is not executable. Ensure it is in the search path or configure it on the MicroPython configuration page.</source>
         <translation>La herramienta de firmware de flasheo dfu-util &lt;b&gt;dfu-util&lt;/b&gt; no se encuentra o no es ejecutable. Asegure que está en la ruta de búsqueda o configure su valor en la página de configuración de MicroPython.</translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="283"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="286"/>
         <source>&lt;h3&gt;Enable DFU Mode&lt;/h3&gt;&lt;p&gt;1. Disconnect everything from your board&lt;/p&gt;&lt;p&gt;2. Disconnect your board&lt;/p&gt;&lt;p&gt;3. Connect the DFU/BOOT0 pin with a 3.3V pin&lt;/p&gt;&lt;p&gt;4. Re-connect your board&lt;/p&gt;&lt;hr /&gt;</source>
         <translation>&lt;h3&gt;Habilitar Modo DFU&lt;/h3&gt;&lt;p&gt;1. Desconectar todo de la placa&lt;/p&gt;&lt;p&gt;2. Desconectar la placa&lt;/p&gt;&lt;p&gt;3. Conectar el pin DFU/BOOT0 con un pin de 3.3V pin&lt;/p&gt;&lt;p&gt;4. Reconectar la placa&lt;/p&gt;&lt;hr /&gt;</translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="293"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="296"/>
         <source>&lt;p&gt;&lt;b&gt;Warning:&lt;/b&gt; Make sure that all other DFU capable devices except your PyBoard are disconnected.&lt;hr /&gt;</source>
         <translation>&lt;p&gt;&lt;b&gt;Aviso:&lt;/b&gt; Asegurar que todos los demás dispositivos con capacidad DFU -a excepción del PyBoard- están desconectados.&lt;hr /&gt;</translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="299"/>
-        <source>&lt;p&gt;Press &lt;b&gt;OK&lt;/b&gt; to continue...&lt;/p&gt;</source>
-        <translation>&lt;p&gt;Pulsar &lt;b&gt;OK&lt;/b&gt; para continuar...&lt;/p&gt;</translation>
-    </message>
-    <message>
         <location filename="../MicroPython/PyBoardDevices.py" line="302"/>
+        <source>&lt;p&gt;Press &lt;b&gt;OK&lt;/b&gt; to continue...&lt;/p&gt;</source>
+        <translation>&lt;p&gt;Pulsar &lt;b&gt;OK&lt;/b&gt; para continuar...&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/PyBoardDevices.py" line="305"/>
         <source>Enable DFU mode</source>
         <translation>Habilitar modo DFU</translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="316"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="319"/>
         <source>&lt;h3&gt;Disable DFU Mode&lt;/h3&gt;&lt;p&gt;1. Disconnect your board&lt;/p&gt;&lt;p&gt;2. Remove the DFU jumper&lt;/p&gt;&lt;p&gt;3. Re-connect your board&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Press &lt;b&gt;OK&lt;/b&gt; to continue...&lt;/p&gt;</source>
         <translation>&lt;h3&gt;Desabilitar Modo DFU&lt;/h3&gt;&lt;p&gt;1. Desconectar la placa&lt;/p&gt;&lt;p&gt;2. Sacar el jumper DFU&lt;/p&gt;&lt;p&gt;3. Reconectar la placa&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Pulsar &lt;b&gt;OK&lt;/b&gt; para continuar...&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="324"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="327"/>
         <source>Disable DFU mode</source>
         <translation>Deshabilitar modo DFU</translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="379"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="382"/>
         <source>&apos;dfu-util&apos; Output</source>
         <translation>Salida de &apos;dfu-util&apos;</translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="345"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="348"/>
         <source>List DFU capable Devices</source>
         <translation>Listar Dispositivos con capacidad DFU</translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="367"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="370"/>
         <source>MicroPython Firmware Files (*.dfu);;All Files (*)</source>
         <translation>Archivos de Firmware MicroPython (*.dfu);;Todos los Archivos (*)</translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="186"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="189"/>
         <source>Python files for PyBoard can be edited in place, if the device volume is locally available. Such a volume was not found. In place editing will not be available.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -74850,43 +74863,43 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="88"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="91"/>
         <source>{0} (*)</source>
         <comment>list entry is modified</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="165"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="168"/>
         <source>Delete Unknown Devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="147"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="150"/>
         <source>The selected entries contain some with modified data. Shall they really be deleted?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="165"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="168"/>
         <source>The list contains some devices with modified data. Shall they really be deleted?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="181"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="184"/>
         <source>Restore Unknown Devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="181"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="184"/>
         <source>Restoring the list of unknown devices will overwrite all changes made. Do you really want to restore the list?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="244"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="247"/>
         <source>Unsaved Data</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="244"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="247"/>
         <source>The list of devices contains some with modified data.</source>
         <translation type="unfinished"></translation>
     </message>
--- a/eric6/i18n/eric6_fr.ts	Sat Feb 06 19:18:22 2021 +0100
+++ b/eric6/i18n/eric6_fr.ts	Sat Feb 06 19:22:22 2021 +0100
@@ -20189,6 +20189,19 @@
     </message>
 </context>
 <context>
+    <name>GenericMicroPythonDevice</name>
+    <message>
+        <location filename="../MicroPython/GenericMicroPythonDevices.py" line="194"/>
+        <source>Workspace Directory</source>
+        <translation type="unfinished">Répertoire de travail</translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/GenericMicroPythonDevices.py" line="194"/>
+        <source>Python files for this generic board can be edited in place, if the device volume is locally available. A volume named &apos;{0}&apos; was not found. In place editing will not be available.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>Git</name>
     <message>
         <location filename="../Plugins/VcsPlugins/vcsGit/git.py" line="205"/>
@@ -46472,42 +46485,42 @@
 <context>
     <name>MicroPythonDevice</name>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="297"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="306"/>
         <source>Unsupported Device</source>
         <translation>Matériel non supporté</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="307"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="316"/>
         <source>REPL is not supported by this device.</source>
         <translation>REPL n&apos;est pas supporté pour ce matériel.</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="326"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="335"/>
         <source>Plotter is not supported by this device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="345"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="354"/>
         <source>Running scripts is not supported by this device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="365"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="374"/>
         <source>File Manager is not supported by this device.</source>
         <translation>Le gestionnaire de fichier n&apos;est pas supporté pour ce matériel.</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="410"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="417"/>
         <source>Select Device Directory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="410"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="417"/>
         <source>Select the directory for the connected device:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="113"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="112"/>
         <source>Generic Board</source>
         <translation type="unfinished"></translation>
     </message>
@@ -47115,17 +47128,17 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="516"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="529"/>
         <source>Press to connect the selected device</source>
         <translation>Cliquer pour se connecter au matériel sélectionné</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="267"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="271"/>
         <source>&lt;h3&gt;The QtSerialPort package is not available.&lt;br/&gt;MicroPython support is deactivated.&lt;/h3&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location filename="../MicroPython/MicroPythonWidget.py" line="304"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="308"/>
         <source>%n supported device(s) detected.</source>
         <translation>
             <numerusform>%n matériel supporté détecté.</numerusform>
@@ -47133,37 +47146,37 @@
         </translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="323"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="330"/>
         <source>No supported devices detected.</source>
         <translation>Pas de matériel supporté détecté.</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="486"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="499"/>
         <source>Clear</source>
         <translation>Effacer</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="488"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="501"/>
         <source>Copy</source>
         <translation>Copier</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="489"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="502"/>
         <source>Paste</source>
         <translation>Coller</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="511"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="524"/>
         <source>Press to disconnect the current device</source>
         <translation>Cliquer pour déconnecter le matériel courant</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="532"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="545"/>
         <source>No device attached</source>
         <translation>Pas de matériel relié</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="532"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="545"/>
         <source>Please ensure the device is plugged into your computer and selected.
 
 It must have a version of MicroPython (or CircuitPython) flashed onto it before anything will work.
@@ -47172,217 +47185,217 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="559"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="572"/>
         <source>Start REPL</source>
         <translation>Démarrer REPL</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="559"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="572"/>
         <source>&lt;p&gt;The REPL cannot be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation>&lt;p&gt;REPL ne peut être démarré.&lt;/p&gt;&lt;p&gt;Raison : {0}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="961"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="974"/>
         <source>Serial Device Connect</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="961"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="974"/>
         <source>&lt;p&gt;Cannot connect to device at serial port &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Ne peut connecter un matériel sur le port série&lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1006"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1019"/>
         <source>Run Script</source>
         <translation>Lancer le script</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="989"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1002"/>
         <source>There is no editor open. Abort...</source>
         <translation>Il n&apos;y a pas d&apos;éditeur ouvert. Annulation...</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="997"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1010"/>
         <source>The current editor does not contain a script. Abort...</source>
         <translation>L&apos;éditeur courant ne contient pas de script. Annulation...</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1006"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1019"/>
         <source>&lt;p&gt;Cannot run script.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Ne peut lancer le script.&lt;/p&gt;&lt;p&gt;Raison : {0}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1030"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1043"/>
         <source>Open Python File</source>
         <translation>Ouvrir un fichier Python</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1030"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1043"/>
         <source>Python3 Files (*.py);;All Files (*)</source>
         <translation>Fichiers Python3 (*.py);;Tous les fichiers (*)</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1075"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1088"/>
         <source>Start Chart</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1075"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1088"/>
         <source>&lt;p&gt;The Chart cannot be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1104"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1117"/>
         <source>Unsaved Chart Data</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1104"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1117"/>
         <source>The chart contains unsaved data.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1155"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1168"/>
         <source>Start File Manager</source>
         <translation>Démarrer le gestionnaire de fichier</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1155"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1168"/>
         <source>&lt;p&gt;The File Manager cannot be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Le gestionnaire de fichier ne peut démarrer.&lt;/p&gt;&lt;p&gt;Raison : {0}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1226"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1239"/>
         <source>Show Version</source>
         <translation>Montrer la version</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1229"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1242"/>
         <source>Show Implementation</source>
         <translation>Montrer l&apos;implémentation</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1351"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1364"/>
         <source>Synchronize Time</source>
         <translation>Synchroniser le temps</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1237"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1250"/>
         <source>Show Device Time</source>
         <translation>Montrer l&apos;horloge matériel</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1240"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1253"/>
         <source>Show Local Time</source>
         <translation>Montrer l&apos;horloge locale</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1569"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1582"/>
         <source>Compile Python File</source>
         <translation>Compilier le fichier Python</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1589"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1602"/>
         <source>Compile Current Editor</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1288"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1301"/>
         <source>&lt;h3&gt;Device Version Information&lt;/h3&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1297"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1310"/>
         <source>No version information available.</source>
         <translation>Pas d&apos;information de version disponible.</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1299"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1312"/>
         <source>Device Version Information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1322"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1335"/>
         <source>unknown</source>
         <translation>inconnu</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1326"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1339"/>
         <source>Device Implementation Information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1326"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1339"/>
         <source>&lt;h3&gt;Device Implementation Information&lt;/h3&gt;&lt;p&gt;This device contains &lt;b&gt;{0} {1}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1351"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1364"/>
         <source>&lt;p&gt;The time of the connected device was synchronized with the local time.&lt;/p&gt;</source>
         <translation>&lt;p&gt;L&apos;horloge du matériel connecté a été synchronisée à l&apos;horloge locale.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1373"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1386"/>
         <source>&lt;h3&gt;Device Date and Time&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
         <translation>&lt;h3&gt;Date et heure matériel&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Heure&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1381"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1394"/>
         <source>&lt;h3&gt;Device Date and Time&lt;/h3&gt;&lt;p&gt;{0}&lt;/p&gt;</source>
         <translation>&lt;h3&gt;Date et heure matériel&lt;/h3&gt;&lt;p&gt;{0}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1396"/>
-        <source>Device Date and Time</source>
-        <translation>Date et heure matériel</translation>
-    </message>
-    <message>
         <location filename="../MicroPython/MicroPythonWidget.py" line="1409"/>
+        <source>Device Date and Time</source>
+        <translation>Date et heure matériel</translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1422"/>
         <source>Local Date and Time</source>
         <translation>Date et heure locales</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1409"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1422"/>
         <source>&lt;h3&gt;Local Date and Time&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
         <translation>&lt;h3&gt;Date et heure locales&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Heure&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1477"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1490"/>
         <source>Error handling device</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1477"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1490"/>
         <source>&lt;p&gt;There was an error communicating with the connected device.&lt;/p&gt;&lt;p&gt;Method: {0}&lt;/p&gt;&lt;p&gt;Message: {1}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Il y a eu une erreur de communication avec le matériel connecté.&lt;/p&gt;&lt;p&gt;Méthode : {0}&lt;/p&gt;&lt;p&gt;Message : {1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1517"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1530"/>
         <source>The MicroPython cross compiler &lt;b&gt;mpy-cross&lt;/b&gt; cannot be found. Ensure it is in the search path or configure it on the MicroPython configuration page.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1539"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1552"/>
         <source>Python Files (*.py);;All Files (*)</source>
         <translation>Fichiers Python (*.py);;Tous les fichiers (*)</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1549"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1562"/>
         <source>The Python file &lt;b&gt;{0}&lt;/b&gt; does not exist. Aborting...</source>
         <translation>Le fichier Python &lt;b&gt;{0}&lt;/b&gt; n&apos;existe pas. Annulation...</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1559"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1572"/>
         <source>&apos;mpy-cross&apos; Output</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1582"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1595"/>
         <source>The current editor does not contain a Python file. Aborting...</source>
         <translation>L&apos;éditeur courant ne contient pas un fichier Python. Annulation...</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="215"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="219"/>
         <source>MicroPython Menu</source>
         <translation>Menu MicroPython</translation>
     </message>
@@ -47392,52 +47405,52 @@
         <translation>Cliquer pour ouvrir un gestionnaire de fichier sur le matériel sélectionné</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1088"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1101"/>
         <source>&#xc2;&#xb5;Py Chart</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1171"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1184"/>
         <source>&#xc2;&#xb5;Py Files</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1269"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1282"/>
         <source>Show Documentation</source>
         <translation>Montrer la documentation</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1278"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1291"/>
         <source>Configure</source>
         <translation>Configuration</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1243"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1256"/>
         <source>Show Time</source>
         <translation>Montrer l&apos;horloge</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1262"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1275"/>
         <source>Download Firmware</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1452"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1465"/>
         <source>Date and Time</source>
         <translation>Date et heure</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1435"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1448"/>
         <source>&lt;table&gt;&lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;Local Date and Time&lt;/th&gt;&lt;th&gt;Device Date and Time&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{0}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{1}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{3}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
         <translation>&lt;table&gt;&lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;Date et heure locales&lt;/th&gt;&lt;th&gt;Date et heure matériel&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{0}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Heure&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{1}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{3}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1452"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1465"/>
         <source>&lt;table&gt;&lt;tr&gt;&lt;th&gt;Local Date and Time&lt;/th&gt;&lt;th&gt;Device Date and Time&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&apos;center&apos;&gt;{0} {1}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
         <translation>&lt;table&gt;&lt;tr&gt;&lt;th&gt;Date et heure locales&lt;/th&gt;&lt;th&gt;Date et heure matériel&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&apos;center&apos;&gt;{0} {1}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="373"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="380"/>
         <source>Unknown MicroPython Device</source>
         <translation>Matériel MicroPython inconnu</translation>
     </message>
@@ -47447,49 +47460,49 @@
         <translation type="obsolete">{0} ({1:04x}/{2:04x})</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1275"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1288"/>
         <source>Ignored Serial Devices</source>
         <translation>Matériels séries ignorés</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1211"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1224"/>
         <source>Downloads</source>
         <translation type="unfinished">Téléchargements</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="310"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="313"/>
         <source>{0} - {1} ({2})</source>
         <comment>board name, description, port name</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="345"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="352"/>
         <source>&lt;p&gt;Detected these unknown serial devices&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Please report them together with the board name and a short description to &lt;a href=&quot;mailto:{1}&quot;&gt; the eric bug reporting address&lt;/a&gt; if it is a MicroPython board.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="345"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="352"/>
         <source>{0} (0x{1:04x}/0x{2:04x})</source>
         <comment>description, VId, PId</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="373"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="380"/>
         <source>Would you like to add them to the list of manually configured devices?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1273"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1286"/>
         <source>Manage Unknown Devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1674"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1687"/>
         <source>Add Unknown Devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1674"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1687"/>
         <source>Select the devices to be added:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -57319,82 +57332,82 @@
         <translation>PyBoard</translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="186"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="189"/>
         <source>Workspace Directory</source>
         <translation>Répertoire de travail</translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="225"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="228"/>
         <source>List DFU-capable Devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="379"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="382"/>
         <source>Flash MicroPython Firmware</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="232"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="235"/>
         <source>MicroPython Flash Instructions</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="262"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="265"/>
         <source>dfu-util not available</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="262"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="265"/>
         <source>The dfu-util firmware flashing tool &lt;b&gt;dfu-util&lt;/b&gt; cannot be found or is not executable. Ensure it is in the search path or configure it on the MicroPython configuration page.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="283"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="286"/>
         <source>&lt;h3&gt;Enable DFU Mode&lt;/h3&gt;&lt;p&gt;1. Disconnect everything from your board&lt;/p&gt;&lt;p&gt;2. Disconnect your board&lt;/p&gt;&lt;p&gt;3. Connect the DFU/BOOT0 pin with a 3.3V pin&lt;/p&gt;&lt;p&gt;4. Re-connect your board&lt;/p&gt;&lt;hr /&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="293"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="296"/>
         <source>&lt;p&gt;&lt;b&gt;Warning:&lt;/b&gt; Make sure that all other DFU capable devices except your PyBoard are disconnected.&lt;hr /&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="299"/>
-        <source>&lt;p&gt;Press &lt;b&gt;OK&lt;/b&gt; to continue...&lt;/p&gt;</source>
-        <translation>&lt;p&gt;Cliquer &lt;b&gt;OK&lt;/b&gt; pour continuer...&lt;/p&gt;</translation>
-    </message>
-    <message>
         <location filename="../MicroPython/PyBoardDevices.py" line="302"/>
+        <source>&lt;p&gt;Press &lt;b&gt;OK&lt;/b&gt; to continue...&lt;/p&gt;</source>
+        <translation>&lt;p&gt;Cliquer &lt;b&gt;OK&lt;/b&gt; pour continuer...&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/PyBoardDevices.py" line="305"/>
         <source>Enable DFU mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="316"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="319"/>
         <source>&lt;h3&gt;Disable DFU Mode&lt;/h3&gt;&lt;p&gt;1. Disconnect your board&lt;/p&gt;&lt;p&gt;2. Remove the DFU jumper&lt;/p&gt;&lt;p&gt;3. Re-connect your board&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Press &lt;b&gt;OK&lt;/b&gt; to continue...&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="324"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="327"/>
         <source>Disable DFU mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="379"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="382"/>
         <source>&apos;dfu-util&apos; Output</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="345"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="348"/>
         <source>List DFU capable Devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="367"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="370"/>
         <source>MicroPython Firmware Files (*.dfu);;All Files (*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="186"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="189"/>
         <source>Python files for PyBoard can be edited in place, if the device volume is locally available. Such a volume was not found. In place editing will not be available.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -78262,43 +78275,43 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="88"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="91"/>
         <source>{0} (*)</source>
         <comment>list entry is modified</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="165"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="168"/>
         <source>Delete Unknown Devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="147"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="150"/>
         <source>The selected entries contain some with modified data. Shall they really be deleted?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="165"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="168"/>
         <source>The list contains some devices with modified data. Shall they really be deleted?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="181"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="184"/>
         <source>Restore Unknown Devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="181"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="184"/>
         <source>Restoring the list of unknown devices will overwrite all changes made. Do you really want to restore the list?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="244"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="247"/>
         <source>Unsaved Data</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="244"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="247"/>
         <source>The list of devices contains some with modified data.</source>
         <translation type="unfinished"></translation>
     </message>
--- a/eric6/i18n/eric6_it.ts	Sat Feb 06 19:18:22 2021 +0100
+++ b/eric6/i18n/eric6_it.ts	Sat Feb 06 19:22:22 2021 +0100
@@ -20580,6 +20580,19 @@
     </message>
 </context>
 <context>
+    <name>GenericMicroPythonDevice</name>
+    <message>
+        <location filename="../MicroPython/GenericMicroPythonDevices.py" line="194"/>
+        <source>Workspace Directory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/GenericMicroPythonDevices.py" line="194"/>
+        <source>Python files for this generic board can be edited in place, if the device volume is locally available. A volume named &apos;{0}&apos; was not found. In place editing will not be available.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>Git</name>
     <message>
         <location filename="../Plugins/VcsPlugins/vcsGit/git.py" line="205"/>
@@ -48652,42 +48665,42 @@
 <context>
     <name>MicroPythonDevice</name>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="297"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="306"/>
         <source>Unsupported Device</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="307"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="316"/>
         <source>REPL is not supported by this device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="326"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="335"/>
         <source>Plotter is not supported by this device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="345"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="354"/>
         <source>Running scripts is not supported by this device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="365"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="374"/>
         <source>File Manager is not supported by this device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="410"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="417"/>
         <source>Select Device Directory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="410"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="417"/>
         <source>Select the directory for the connected device:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="113"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="112"/>
         <source>Generic Board</source>
         <translation type="unfinished"></translation>
     </message>
@@ -49295,17 +49308,17 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="516"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="529"/>
         <source>Press to connect the selected device</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="267"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="271"/>
         <source>&lt;h3&gt;The QtSerialPort package is not available.&lt;br/&gt;MicroPython support is deactivated.&lt;/h3&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location filename="../MicroPython/MicroPythonWidget.py" line="304"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="308"/>
         <source>%n supported device(s) detected.</source>
         <translation type="unfinished">
             <numerusform></numerusform>
@@ -49313,37 +49326,37 @@
         </translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="323"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="330"/>
         <source>No supported devices detected.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="486"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="499"/>
         <source>Clear</source>
         <translation type="unfinished">Pulisci</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="488"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="501"/>
         <source>Copy</source>
         <translation type="unfinished">Copia</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="489"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="502"/>
         <source>Paste</source>
         <translation type="unfinished">Incolla</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="511"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="524"/>
         <source>Press to disconnect the current device</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="532"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="545"/>
         <source>No device attached</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="532"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="545"/>
         <source>Please ensure the device is plugged into your computer and selected.
 
 It must have a version of MicroPython (or CircuitPython) flashed onto it before anything will work.
@@ -49352,217 +49365,217 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="559"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="572"/>
         <source>Start REPL</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="559"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="572"/>
         <source>&lt;p&gt;The REPL cannot be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="961"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="974"/>
         <source>Serial Device Connect</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="961"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="974"/>
         <source>&lt;p&gt;Cannot connect to device at serial port &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1006"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1019"/>
         <source>Run Script</source>
         <translation type="unfinished">Esegui Script</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="989"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1002"/>
         <source>There is no editor open. Abort...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="997"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1010"/>
         <source>The current editor does not contain a script. Abort...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1006"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1019"/>
         <source>&lt;p&gt;Cannot run script.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1030"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1043"/>
         <source>Open Python File</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1030"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1043"/>
         <source>Python3 Files (*.py);;All Files (*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1075"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1088"/>
         <source>Start Chart</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1075"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1088"/>
         <source>&lt;p&gt;The Chart cannot be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1104"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1117"/>
         <source>Unsaved Chart Data</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1104"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1117"/>
         <source>The chart contains unsaved data.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1155"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1168"/>
         <source>Start File Manager</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1155"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1168"/>
         <source>&lt;p&gt;The File Manager cannot be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1226"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1239"/>
         <source>Show Version</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1229"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1242"/>
         <source>Show Implementation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1351"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1364"/>
         <source>Synchronize Time</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1237"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1250"/>
         <source>Show Device Time</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1240"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1253"/>
         <source>Show Local Time</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1569"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1582"/>
         <source>Compile Python File</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1589"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1602"/>
         <source>Compile Current Editor</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1288"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1301"/>
         <source>&lt;h3&gt;Device Version Information&lt;/h3&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1297"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1310"/>
         <source>No version information available.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1299"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1312"/>
         <source>Device Version Information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1322"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1335"/>
         <source>unknown</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1326"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1339"/>
         <source>Device Implementation Information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1326"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1339"/>
         <source>&lt;h3&gt;Device Implementation Information&lt;/h3&gt;&lt;p&gt;This device contains &lt;b&gt;{0} {1}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1351"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1364"/>
         <source>&lt;p&gt;The time of the connected device was synchronized with the local time.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1373"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1386"/>
         <source>&lt;h3&gt;Device Date and Time&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1381"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1394"/>
         <source>&lt;h3&gt;Device Date and Time&lt;/h3&gt;&lt;p&gt;{0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1396"/>
-        <source>Device Date and Time</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../MicroPython/MicroPythonWidget.py" line="1409"/>
+        <source>Device Date and Time</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1422"/>
         <source>Local Date and Time</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1409"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1422"/>
         <source>&lt;h3&gt;Local Date and Time&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1477"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1490"/>
         <source>Error handling device</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1477"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1490"/>
         <source>&lt;p&gt;There was an error communicating with the connected device.&lt;/p&gt;&lt;p&gt;Method: {0}&lt;/p&gt;&lt;p&gt;Message: {1}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1517"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1530"/>
         <source>The MicroPython cross compiler &lt;b&gt;mpy-cross&lt;/b&gt; cannot be found. Ensure it is in the search path or configure it on the MicroPython configuration page.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1539"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1552"/>
         <source>Python Files (*.py);;All Files (*)</source>
         <translation type="unfinished">File Python (*.py);;Tutti i File (*)</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1549"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1562"/>
         <source>The Python file &lt;b&gt;{0}&lt;/b&gt; does not exist. Aborting...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1559"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1572"/>
         <source>&apos;mpy-cross&apos; Output</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1582"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1595"/>
         <source>The current editor does not contain a Python file. Aborting...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="215"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="219"/>
         <source>MicroPython Menu</source>
         <translation type="unfinished"></translation>
     </message>
@@ -49572,99 +49585,99 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1088"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1101"/>
         <source>&#xc2;&#xb5;Py Chart</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1171"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1184"/>
         <source>&#xc2;&#xb5;Py Files</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1269"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1282"/>
         <source>Show Documentation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1278"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1291"/>
         <source>Configure</source>
         <translation type="unfinished">Configura</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1243"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1256"/>
         <source>Show Time</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1262"/>
-        <source>Download Firmware</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1452"/>
-        <source>Date and Time</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1435"/>
-        <source>&lt;table&gt;&lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;Local Date and Time&lt;/th&gt;&lt;th&gt;Device Date and Time&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{0}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{1}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{3}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1452"/>
-        <source>&lt;table&gt;&lt;tr&gt;&lt;th&gt;Local Date and Time&lt;/th&gt;&lt;th&gt;Device Date and Time&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&apos;center&apos;&gt;{0} {1}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="373"/>
-        <source>Unknown MicroPython Device</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../MicroPython/MicroPythonWidget.py" line="1275"/>
+        <source>Download Firmware</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1465"/>
+        <source>Date and Time</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1448"/>
+        <source>&lt;table&gt;&lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;Local Date and Time&lt;/th&gt;&lt;th&gt;Device Date and Time&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{0}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{1}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{3}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1465"/>
+        <source>&lt;table&gt;&lt;tr&gt;&lt;th&gt;Local Date and Time&lt;/th&gt;&lt;th&gt;Device Date and Time&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&apos;center&apos;&gt;{0} {1}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="380"/>
+        <source>Unknown MicroPython Device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1288"/>
         <source>Ignored Serial Devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1211"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1224"/>
         <source>Downloads</source>
         <translation type="unfinished">Downloads</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="310"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="313"/>
         <source>{0} - {1} ({2})</source>
         <comment>board name, description, port name</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="345"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="352"/>
         <source>&lt;p&gt;Detected these unknown serial devices&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Please report them together with the board name and a short description to &lt;a href=&quot;mailto:{1}&quot;&gt; the eric bug reporting address&lt;/a&gt; if it is a MicroPython board.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="345"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="352"/>
         <source>{0} (0x{1:04x}/0x{2:04x})</source>
         <comment>description, VId, PId</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="373"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="380"/>
         <source>Would you like to add them to the list of manually configured devices?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1273"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1286"/>
         <source>Manage Unknown Devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1674"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1687"/>
         <source>Add Unknown Devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1674"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1687"/>
         <source>Select the devices to be added:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -59613,82 +59626,82 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="186"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="189"/>
         <source>Workspace Directory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="225"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="228"/>
         <source>List DFU-capable Devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="379"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="382"/>
         <source>Flash MicroPython Firmware</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="232"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="235"/>
         <source>MicroPython Flash Instructions</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="262"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="265"/>
         <source>dfu-util not available</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="262"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="265"/>
         <source>The dfu-util firmware flashing tool &lt;b&gt;dfu-util&lt;/b&gt; cannot be found or is not executable. Ensure it is in the search path or configure it on the MicroPython configuration page.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="283"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="286"/>
         <source>&lt;h3&gt;Enable DFU Mode&lt;/h3&gt;&lt;p&gt;1. Disconnect everything from your board&lt;/p&gt;&lt;p&gt;2. Disconnect your board&lt;/p&gt;&lt;p&gt;3. Connect the DFU/BOOT0 pin with a 3.3V pin&lt;/p&gt;&lt;p&gt;4. Re-connect your board&lt;/p&gt;&lt;hr /&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="293"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="296"/>
         <source>&lt;p&gt;&lt;b&gt;Warning:&lt;/b&gt; Make sure that all other DFU capable devices except your PyBoard are disconnected.&lt;hr /&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="299"/>
-        <source>&lt;p&gt;Press &lt;b&gt;OK&lt;/b&gt; to continue...&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../MicroPython/PyBoardDevices.py" line="302"/>
+        <source>&lt;p&gt;Press &lt;b&gt;OK&lt;/b&gt; to continue...&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/PyBoardDevices.py" line="305"/>
         <source>Enable DFU mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="316"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="319"/>
         <source>&lt;h3&gt;Disable DFU Mode&lt;/h3&gt;&lt;p&gt;1. Disconnect your board&lt;/p&gt;&lt;p&gt;2. Remove the DFU jumper&lt;/p&gt;&lt;p&gt;3. Re-connect your board&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Press &lt;b&gt;OK&lt;/b&gt; to continue...&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="324"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="327"/>
         <source>Disable DFU mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="379"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="382"/>
         <source>&apos;dfu-util&apos; Output</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="345"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="348"/>
         <source>List DFU capable Devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="367"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="370"/>
         <source>MicroPython Firmware Files (*.dfu);;All Files (*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="186"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="189"/>
         <source>Python files for PyBoard can be edited in place, if the device volume is locally available. Such a volume was not found. In place editing will not be available.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -80985,43 +80998,43 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="88"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="91"/>
         <source>{0} (*)</source>
         <comment>list entry is modified</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="165"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="168"/>
         <source>Delete Unknown Devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="147"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="150"/>
         <source>The selected entries contain some with modified data. Shall they really be deleted?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="165"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="168"/>
         <source>The list contains some devices with modified data. Shall they really be deleted?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="181"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="184"/>
         <source>Restore Unknown Devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="181"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="184"/>
         <source>Restoring the list of unknown devices will overwrite all changes made. Do you really want to restore the list?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="244"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="247"/>
         <source>Unsaved Data</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="244"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="247"/>
         <source>The list of devices contains some with modified data.</source>
         <translation type="unfinished"></translation>
     </message>
--- a/eric6/i18n/eric6_pt.ts	Sat Feb 06 19:18:22 2021 +0100
+++ b/eric6/i18n/eric6_pt.ts	Sat Feb 06 19:22:22 2021 +0100
@@ -20504,6 +20504,19 @@
     </message>
 </context>
 <context>
+    <name>GenericMicroPythonDevice</name>
+    <message>
+        <location filename="../MicroPython/GenericMicroPythonDevices.py" line="194"/>
+        <source>Workspace Directory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/GenericMicroPythonDevices.py" line="194"/>
+        <source>Python files for this generic board can be edited in place, if the device volume is locally available. A volume named &apos;{0}&apos; was not found. In place editing will not be available.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>Git</name>
     <message>
         <location filename="../Plugins/VcsPlugins/vcsGit/git.py" line="205"/>
@@ -48176,42 +48189,42 @@
 <context>
     <name>MicroPythonDevice</name>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="297"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="306"/>
         <source>Unsupported Device</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="307"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="316"/>
         <source>REPL is not supported by this device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="326"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="335"/>
         <source>Plotter is not supported by this device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="345"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="354"/>
         <source>Running scripts is not supported by this device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="365"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="374"/>
         <source>File Manager is not supported by this device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="410"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="417"/>
         <source>Select Device Directory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="410"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="417"/>
         <source>Select the directory for the connected device:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="113"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="112"/>
         <source>Generic Board</source>
         <translation type="unfinished"></translation>
     </message>
@@ -48819,17 +48832,17 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="516"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="529"/>
         <source>Press to connect the selected device</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="267"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="271"/>
         <source>&lt;h3&gt;The QtSerialPort package is not available.&lt;br/&gt;MicroPython support is deactivated.&lt;/h3&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location filename="../MicroPython/MicroPythonWidget.py" line="304"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="308"/>
         <source>%n supported device(s) detected.</source>
         <translation type="unfinished">
             <numerusform></numerusform>
@@ -48837,37 +48850,37 @@
         </translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="323"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="330"/>
         <source>No supported devices detected.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="486"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="499"/>
         <source>Clear</source>
         <translation type="unfinished">Limpar</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="488"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="501"/>
         <source>Copy</source>
         <translation type="unfinished">Copiar</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="489"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="502"/>
         <source>Paste</source>
         <translation type="unfinished">Colar</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="511"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="524"/>
         <source>Press to disconnect the current device</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="532"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="545"/>
         <source>No device attached</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="532"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="545"/>
         <source>Please ensure the device is plugged into your computer and selected.
 
 It must have a version of MicroPython (or CircuitPython) flashed onto it before anything will work.
@@ -48876,217 +48889,217 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="559"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="572"/>
         <source>Start REPL</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="559"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="572"/>
         <source>&lt;p&gt;The REPL cannot be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="961"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="974"/>
         <source>Serial Device Connect</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="961"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="974"/>
         <source>&lt;p&gt;Cannot connect to device at serial port &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1006"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1019"/>
         <source>Run Script</source>
         <translation type="unfinished">Executar Script</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="989"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1002"/>
         <source>There is no editor open. Abort...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="997"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1010"/>
         <source>The current editor does not contain a script. Abort...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1006"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1019"/>
         <source>&lt;p&gt;Cannot run script.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1030"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1043"/>
         <source>Open Python File</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1030"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1043"/>
         <source>Python3 Files (*.py);;All Files (*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1075"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1088"/>
         <source>Start Chart</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1075"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1088"/>
         <source>&lt;p&gt;The Chart cannot be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1104"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1117"/>
         <source>Unsaved Chart Data</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1104"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1117"/>
         <source>The chart contains unsaved data.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1155"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1168"/>
         <source>Start File Manager</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1155"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1168"/>
         <source>&lt;p&gt;The File Manager cannot be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1226"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1239"/>
         <source>Show Version</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1229"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1242"/>
         <source>Show Implementation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1351"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1364"/>
         <source>Synchronize Time</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1237"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1250"/>
         <source>Show Device Time</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1240"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1253"/>
         <source>Show Local Time</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1569"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1582"/>
         <source>Compile Python File</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1589"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1602"/>
         <source>Compile Current Editor</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1288"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1301"/>
         <source>&lt;h3&gt;Device Version Information&lt;/h3&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1297"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1310"/>
         <source>No version information available.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1299"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1312"/>
         <source>Device Version Information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1322"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1335"/>
         <source>unknown</source>
         <translation type="unfinished">desconhecido</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1326"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1339"/>
         <source>Device Implementation Information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1326"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1339"/>
         <source>&lt;h3&gt;Device Implementation Information&lt;/h3&gt;&lt;p&gt;This device contains &lt;b&gt;{0} {1}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1351"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1364"/>
         <source>&lt;p&gt;The time of the connected device was synchronized with the local time.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1373"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1386"/>
         <source>&lt;h3&gt;Device Date and Time&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1381"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1394"/>
         <source>&lt;h3&gt;Device Date and Time&lt;/h3&gt;&lt;p&gt;{0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1396"/>
-        <source>Device Date and Time</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../MicroPython/MicroPythonWidget.py" line="1409"/>
+        <source>Device Date and Time</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1422"/>
         <source>Local Date and Time</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1409"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1422"/>
         <source>&lt;h3&gt;Local Date and Time&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1477"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1490"/>
         <source>Error handling device</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1477"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1490"/>
         <source>&lt;p&gt;There was an error communicating with the connected device.&lt;/p&gt;&lt;p&gt;Method: {0}&lt;/p&gt;&lt;p&gt;Message: {1}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1517"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1530"/>
         <source>The MicroPython cross compiler &lt;b&gt;mpy-cross&lt;/b&gt; cannot be found. Ensure it is in the search path or configure it on the MicroPython configuration page.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1539"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1552"/>
         <source>Python Files (*.py);;All Files (*)</source>
         <translation type="unfinished">Ficheiros Python (*.py);;Ficheiros Todos (*)</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1549"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1562"/>
         <source>The Python file &lt;b&gt;{0}&lt;/b&gt; does not exist. Aborting...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1559"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1572"/>
         <source>&apos;mpy-cross&apos; Output</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1582"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1595"/>
         <source>The current editor does not contain a Python file. Aborting...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="215"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="219"/>
         <source>MicroPython Menu</source>
         <translation type="unfinished"></translation>
     </message>
@@ -49096,99 +49109,99 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1088"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1101"/>
         <source>&#xc2;&#xb5;Py Chart</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1171"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1184"/>
         <source>&#xc2;&#xb5;Py Files</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1269"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1282"/>
         <source>Show Documentation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1278"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1291"/>
         <source>Configure</source>
         <translation type="unfinished">Configurar</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1243"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1256"/>
         <source>Show Time</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1262"/>
-        <source>Download Firmware</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1452"/>
-        <source>Date and Time</source>
-        <translation type="unfinished">Data e Hora</translation>
-    </message>
-    <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1435"/>
-        <source>&lt;table&gt;&lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;Local Date and Time&lt;/th&gt;&lt;th&gt;Device Date and Time&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{0}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{1}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{3}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1452"/>
-        <source>&lt;table&gt;&lt;tr&gt;&lt;th&gt;Local Date and Time&lt;/th&gt;&lt;th&gt;Device Date and Time&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&apos;center&apos;&gt;{0} {1}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="373"/>
-        <source>Unknown MicroPython Device</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../MicroPython/MicroPythonWidget.py" line="1275"/>
+        <source>Download Firmware</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1465"/>
+        <source>Date and Time</source>
+        <translation type="unfinished">Data e Hora</translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1448"/>
+        <source>&lt;table&gt;&lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;Local Date and Time&lt;/th&gt;&lt;th&gt;Device Date and Time&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{0}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{1}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{3}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1465"/>
+        <source>&lt;table&gt;&lt;tr&gt;&lt;th&gt;Local Date and Time&lt;/th&gt;&lt;th&gt;Device Date and Time&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&apos;center&apos;&gt;{0} {1}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="380"/>
+        <source>Unknown MicroPython Device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1288"/>
         <source>Ignored Serial Devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1211"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1224"/>
         <source>Downloads</source>
         <translation type="unfinished">Descargas</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="310"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="313"/>
         <source>{0} - {1} ({2})</source>
         <comment>board name, description, port name</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="345"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="352"/>
         <source>&lt;p&gt;Detected these unknown serial devices&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Please report them together with the board name and a short description to &lt;a href=&quot;mailto:{1}&quot;&gt; the eric bug reporting address&lt;/a&gt; if it is a MicroPython board.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="345"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="352"/>
         <source>{0} (0x{1:04x}/0x{2:04x})</source>
         <comment>description, VId, PId</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="373"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="380"/>
         <source>Would you like to add them to the list of manually configured devices?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1273"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1286"/>
         <source>Manage Unknown Devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1674"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1687"/>
         <source>Add Unknown Devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1674"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1687"/>
         <source>Select the devices to be added:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -59055,82 +59068,82 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="186"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="189"/>
         <source>Workspace Directory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="225"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="228"/>
         <source>List DFU-capable Devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="379"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="382"/>
         <source>Flash MicroPython Firmware</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="232"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="235"/>
         <source>MicroPython Flash Instructions</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="262"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="265"/>
         <source>dfu-util not available</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="262"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="265"/>
         <source>The dfu-util firmware flashing tool &lt;b&gt;dfu-util&lt;/b&gt; cannot be found or is not executable. Ensure it is in the search path or configure it on the MicroPython configuration page.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="283"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="286"/>
         <source>&lt;h3&gt;Enable DFU Mode&lt;/h3&gt;&lt;p&gt;1. Disconnect everything from your board&lt;/p&gt;&lt;p&gt;2. Disconnect your board&lt;/p&gt;&lt;p&gt;3. Connect the DFU/BOOT0 pin with a 3.3V pin&lt;/p&gt;&lt;p&gt;4. Re-connect your board&lt;/p&gt;&lt;hr /&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="293"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="296"/>
         <source>&lt;p&gt;&lt;b&gt;Warning:&lt;/b&gt; Make sure that all other DFU capable devices except your PyBoard are disconnected.&lt;hr /&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="299"/>
-        <source>&lt;p&gt;Press &lt;b&gt;OK&lt;/b&gt; to continue...&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../MicroPython/PyBoardDevices.py" line="302"/>
+        <source>&lt;p&gt;Press &lt;b&gt;OK&lt;/b&gt; to continue...&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/PyBoardDevices.py" line="305"/>
         <source>Enable DFU mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="316"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="319"/>
         <source>&lt;h3&gt;Disable DFU Mode&lt;/h3&gt;&lt;p&gt;1. Disconnect your board&lt;/p&gt;&lt;p&gt;2. Remove the DFU jumper&lt;/p&gt;&lt;p&gt;3. Re-connect your board&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Press &lt;b&gt;OK&lt;/b&gt; to continue...&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="324"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="327"/>
         <source>Disable DFU mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="379"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="382"/>
         <source>&apos;dfu-util&apos; Output</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="345"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="348"/>
         <source>List DFU capable Devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="367"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="370"/>
         <source>MicroPython Firmware Files (*.dfu);;All Files (*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="186"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="189"/>
         <source>Python files for PyBoard can be edited in place, if the device volume is locally available. Such a volume was not found. In place editing will not be available.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -79454,43 +79467,43 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="88"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="91"/>
         <source>{0} (*)</source>
         <comment>list entry is modified</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="165"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="168"/>
         <source>Delete Unknown Devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="147"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="150"/>
         <source>The selected entries contain some with modified data. Shall they really be deleted?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="165"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="168"/>
         <source>The list contains some devices with modified data. Shall they really be deleted?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="181"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="184"/>
         <source>Restore Unknown Devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="181"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="184"/>
         <source>Restoring the list of unknown devices will overwrite all changes made. Do you really want to restore the list?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="244"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="247"/>
         <source>Unsaved Data</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="244"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="247"/>
         <source>The list of devices contains some with modified data.</source>
         <translation type="unfinished"></translation>
     </message>
--- a/eric6/i18n/eric6_ru.ts	Sat Feb 06 19:18:22 2021 +0100
+++ b/eric6/i18n/eric6_ru.ts	Sat Feb 06 19:22:22 2021 +0100
@@ -19798,6 +19798,19 @@
     </message>
 </context>
 <context>
+    <name>GenericMicroPythonDevice</name>
+    <message>
+        <location filename="../MicroPython/GenericMicroPythonDevices.py" line="194"/>
+        <source>Workspace Directory</source>
+        <translation type="unfinished">Директория рабочей области</translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/GenericMicroPythonDevices.py" line="194"/>
+        <source>Python files for this generic board can be edited in place, if the device volume is locally available. A volume named &apos;{0}&apos; was not found. In place editing will not be available.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>Git</name>
     <message>
         <location filename="../Plugins/VcsPlugins/vcsGit/git.py" line="205"/>
@@ -44299,42 +44312,42 @@
 <context>
     <name>MicroPythonDevice</name>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="297"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="306"/>
         <source>Unsupported Device</source>
         <translation>Неподдерживаемое устройство</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="307"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="316"/>
         <source>REPL is not supported by this device.</source>
         <translation>REPL не поддерживается этим устройством.</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="326"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="335"/>
         <source>Plotter is not supported by this device.</source>
         <translation>Плоттер не поддерживается этим устройством.</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="345"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="354"/>
         <source>Running scripts is not supported by this device.</source>
         <translation>Выполнение скриптов не поддерживается этим устройством.</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="365"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="374"/>
         <source>File Manager is not supported by this device.</source>
         <translation>Менеджер файлов не поддерживается этим устройством.</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="410"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="417"/>
         <source>Select Device Directory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="410"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="417"/>
         <source>Select the directory for the connected device:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="113"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="112"/>
         <source>Generic Board</source>
         <translation type="unfinished"></translation>
     </message>
@@ -44962,17 +44975,17 @@
         <translation>Открыть окно для отображения данных, полученных с выбранного устройства</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="516"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="529"/>
         <source>Press to connect the selected device</source>
         <translation>Подключить выбранное устройство</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="267"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="271"/>
         <source>&lt;h3&gt;The QtSerialPort package is not available.&lt;br/&gt;MicroPython support is deactivated.&lt;/h3&gt;</source>
         <translation>&lt;h3&gt;Пакет QtSerialPort недоступен.&lt;br//&gt;Поддержка MicroPython деактивирована.&lt;/h3&gt;</translation>
     </message>
     <message numerus="yes">
-        <location filename="../MicroPython/MicroPythonWidget.py" line="304"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="308"/>
         <source>%n supported device(s) detected.</source>
         <translation>
             <numerusform>Обнаружено %n поддерживаемое устройство.</numerusform>
@@ -44986,37 +44999,37 @@
         <translation type="obsolete">{0} из {1}</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="323"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="330"/>
         <source>No supported devices detected.</source>
         <translation>Поддерживаемые устройства не обнаружены.</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="486"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="499"/>
         <source>Clear</source>
         <translation>Очистить</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="488"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="501"/>
         <source>Copy</source>
         <translation>Копировать</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="489"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="502"/>
         <source>Paste</source>
         <translation>Вставить</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="511"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="524"/>
         <source>Press to disconnect the current device</source>
         <translation>Отключить выбранное устройство</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="532"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="545"/>
         <source>No device attached</source>
         <translation>Устройство не подключено</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="532"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="545"/>
         <source>Please ensure the device is plugged into your computer and selected.
 
 It must have a version of MicroPython (or CircuitPython) flashed onto it before anything will work.
@@ -45029,217 +45042,217 @@
 И наконец, нажмите кнопку сброса устройства и подождите несколько секунд, прежде чем повторить попытку.</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="559"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="572"/>
         <source>Start REPL</source>
         <translation>Запустить REPL</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="559"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="572"/>
         <source>&lt;p&gt;The REPL cannot be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Неудается запустить REPL.&lt;/p&gt;&lt;p&gt;Причина:&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="961"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="974"/>
         <source>Serial Device Connect</source>
         <translation>Подсоединение последовательного устройства</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="961"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="974"/>
         <source>&lt;p&gt;Cannot connect to device at serial port &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Не удается соединиться с устройством через последовательный порт &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1006"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1019"/>
         <source>Run Script</source>
         <translation>Выполнить скрипт</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="989"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1002"/>
         <source>There is no editor open. Abort...</source>
         <translation>Редактор не открыт. Прервать...</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="997"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1010"/>
         <source>The current editor does not contain a script. Abort...</source>
         <translation>Текущий редактор не содержит скрипт. Прервать...</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1006"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1019"/>
         <source>&lt;p&gt;Cannot run script.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Не удается выполнить скрипт.&lt;/p&gt;&lt;p&gt;Причина: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1030"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1043"/>
         <source>Open Python File</source>
         <translation>Открыть файл Python</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1030"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1043"/>
         <source>Python3 Files (*.py);;All Files (*)</source>
         <translation>Файлы Python3 (*.py);;Все файлы (*)</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1075"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1088"/>
         <source>Start Chart</source>
         <translation>Построить диаграмму</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1075"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1088"/>
         <source>&lt;p&gt;The Chart cannot be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Не удается построить диаграмму.&lt;/p&gt;&lt;p&gt;Причина: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1104"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1117"/>
         <source>Unsaved Chart Data</source>
         <translation>Несохраненные данные диаграммы</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1104"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1117"/>
         <source>The chart contains unsaved data.</source>
         <translation>Диаграмма содержит несохраненные данные.</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1155"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1168"/>
         <source>Start File Manager</source>
         <translation>Запустить менеджер файлов</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1155"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1168"/>
         <source>&lt;p&gt;The File Manager cannot be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Не удается запустить менеджер файлов.&lt;/p&gt;&lt;p&gt;Причина: {0}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1226"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1239"/>
         <source>Show Version</source>
         <translation>Показать версию</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1229"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1242"/>
         <source>Show Implementation</source>
         <translation>Показать исполнение</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1351"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1364"/>
         <source>Synchronize Time</source>
         <translation>Синхронизировать время</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1237"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1250"/>
         <source>Show Device Time</source>
         <translation>Показать время устройства</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1240"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1253"/>
         <source>Show Local Time</source>
         <translation>Показать локальное время</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1569"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1582"/>
         <source>Compile Python File</source>
         <translation>Компилировать файл Python</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1589"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1602"/>
         <source>Compile Current Editor</source>
         <translation>Компилировать текущий редактор</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1288"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1301"/>
         <source>&lt;h3&gt;Device Version Information&lt;/h3&gt;</source>
         <translation>&lt;h3&gt;Информация о версии устройства&lt;/h3&gt;</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1297"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1310"/>
         <source>No version information available.</source>
         <translation>Информация о версии недоступна.</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1299"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1312"/>
         <source>Device Version Information</source>
         <translation>Информация о версии устройства</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1322"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1335"/>
         <source>unknown</source>
         <translation>unknown</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1326"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1339"/>
         <source>Device Implementation Information</source>
         <translation>Информация о исполнении устройства</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1326"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1339"/>
         <source>&lt;h3&gt;Device Implementation Information&lt;/h3&gt;&lt;p&gt;This device contains &lt;b&gt;{0} {1}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation>&lt;h3&gt;Информация о исполнении устройства&lt;/h3&gt;&lt;p&gt;Это устройство содержит &lt;b&gt;{0} {1}&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1351"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1364"/>
         <source>&lt;p&gt;The time of the connected device was synchronized with the local time.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Время подключенного устройства было синхронизировано с локальным временем.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1373"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1386"/>
         <source>&lt;h3&gt;Device Date and Time&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
         <translation>&lt;h3&gt;Дата и время устройства&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Дата&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Время&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1381"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1394"/>
         <source>&lt;h3&gt;Device Date and Time&lt;/h3&gt;&lt;p&gt;{0}&lt;/p&gt;</source>
         <translation>&lt;h3&gt;Дата и время устройства&lt;/h3&gt;&lt;p&gt;{0}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1396"/>
-        <source>Device Date and Time</source>
-        <translation>Дата и время устройства</translation>
-    </message>
-    <message>
         <location filename="../MicroPython/MicroPythonWidget.py" line="1409"/>
+        <source>Device Date and Time</source>
+        <translation>Дата и время устройства</translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1422"/>
         <source>Local Date and Time</source>
         <translation>Локальные дата и время</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1409"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1422"/>
         <source>&lt;h3&gt;Local Date and Time&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
         <translation>&lt;h3&gt;Локальные дата и время&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Дата&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Время&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1477"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1490"/>
         <source>Error handling device</source>
         <translation>Ошибка обработки устройства</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1477"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1490"/>
         <source>&lt;p&gt;There was an error communicating with the connected device.&lt;/p&gt;&lt;p&gt;Method: {0}&lt;/p&gt;&lt;p&gt;Message: {1}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Произошла ошибка связи с подключенным устройством.&lt;/p&gt;&lt;p&gt;Метод: {0}&lt;/p&gt;&lt;p&gt;Сообщение: {1}&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1517"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1530"/>
         <source>The MicroPython cross compiler &lt;b&gt;mpy-cross&lt;/b&gt; cannot be found. Ensure it is in the search path or configure it on the MicroPython configuration page.</source>
         <translation>Кросс-компилятор MicroPython &lt;b&gt;mpy-cross&lt;/b&gt; не найден. Убедитесь, что он находится в пути поиска, или настройте его на странице конфигурации MicroPython.</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1539"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1552"/>
         <source>Python Files (*.py);;All Files (*)</source>
         <translation>Файлы Python (*.py);;Все файлы (*)</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1549"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1562"/>
         <source>The Python file &lt;b&gt;{0}&lt;/b&gt; does not exist. Aborting...</source>
         <translation>Файл Python &lt;b&gt;{0}&lt;/b&gt; не существует. Отмена...</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1559"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1572"/>
         <source>&apos;mpy-cross&apos; Output</source>
         <translation>Вывод команды &apos;mpy-cross&apos;</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1582"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1595"/>
         <source>The current editor does not contain a Python file. Aborting...</source>
         <translation>Текущий редактор не содержит файл Python. Отмена...</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="215"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="219"/>
         <source>MicroPython Menu</source>
         <translation>Меню MicroPython</translation>
     </message>
@@ -45249,52 +45262,52 @@
         <translation>Открыть менеджер файлов на выбранном устройстве</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1088"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1101"/>
         <source>&#xc2;&#xb5;Py Chart</source>
         <translation>µPy диаграммы</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1171"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1184"/>
         <source>&#xc2;&#xb5;Py Files</source>
         <translation>µPy файлы</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1269"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1282"/>
         <source>Show Documentation</source>
         <translation>Обзор документации</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1278"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1291"/>
         <source>Configure</source>
         <translation>Настройки</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1243"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1256"/>
         <source>Show Time</source>
         <translation>Показать время</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1262"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1275"/>
         <source>Download Firmware</source>
         <translation>Загрузить прошивку</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1452"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1465"/>
         <source>Date and Time</source>
         <translation>Дата и время</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1435"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1448"/>
         <source>&lt;table&gt;&lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;Local Date and Time&lt;/th&gt;&lt;th&gt;Device Date and Time&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{0}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{1}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{3}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
         <translation>&lt;table&gt;&lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;Дата и время локальные&lt;/th&gt;&lt;th&gt;Дата и время устройства&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Дата&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{0}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Время&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{1}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{3}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1452"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1465"/>
         <source>&lt;table&gt;&lt;tr&gt;&lt;th&gt;Local Date and Time&lt;/th&gt;&lt;th&gt;Device Date and Time&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&apos;center&apos;&gt;{0} {1}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
         <translation>&lt;table&gt;&lt;tr&gt;&lt;th&gt;Дата и время локальные&lt;/th&gt;&lt;th&gt;Дата и время устройства&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&apos;center&apos;&gt;{0} {1}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="373"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="380"/>
         <source>Unknown MicroPython Device</source>
         <translation>Неизвестное устройство MicroPython</translation>
     </message>
@@ -45309,49 +45322,49 @@
         <translation type="obsolete">{0} ({1:04x}/{2:04x})</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1275"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1288"/>
         <source>Ignored Serial Devices</source>
         <translation>Проигнорированные последовательные устройства</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1211"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1224"/>
         <source>Downloads</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="310"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="313"/>
         <source>{0} - {1} ({2})</source>
         <comment>board name, description, port name</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="345"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="352"/>
         <source>&lt;p&gt;Detected these unknown serial devices&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Please report them together with the board name and a short description to &lt;a href=&quot;mailto:{1}&quot;&gt; the eric bug reporting address&lt;/a&gt; if it is a MicroPython board.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="345"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="352"/>
         <source>{0} (0x{1:04x}/0x{2:04x})</source>
         <comment>description, VId, PId</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="373"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="380"/>
         <source>Would you like to add them to the list of manually configured devices?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1273"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1286"/>
         <source>Manage Unknown Devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1674"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1687"/>
         <source>Add Unknown Devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1674"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1687"/>
         <source>Select the devices to be added:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -55177,7 +55190,7 @@
         <translation>PyBoard</translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="186"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="189"/>
         <source>Workspace Directory</source>
         <translation>Директория рабочей области</translation>
     </message>
@@ -55187,77 +55200,77 @@
         <translation type="obsolete">Файлы Python для устройств PyBoard хранятся на самом устройстве. Поэтому для редактирования этих файлов необходимо подключить устройство. Пока устройство не будет подключено, будет использоваться стандартная директория.</translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="225"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="228"/>
         <source>List DFU-capable Devices</source>
         <translation>Список устройств с DFU-поддержкой</translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="379"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="382"/>
         <source>Flash MicroPython Firmware</source>
         <translation>Прошивка Flash MicroPython</translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="232"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="235"/>
         <source>MicroPython Flash Instructions</source>
         <translation>Инструкции MicroPython Flash</translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="262"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="265"/>
         <source>dfu-util not available</source>
         <translation>dfu-util не доступна</translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="262"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="265"/>
         <source>The dfu-util firmware flashing tool &lt;b&gt;dfu-util&lt;/b&gt; cannot be found or is not executable. Ensure it is in the search path or configure it on the MicroPython configuration page.</source>
         <translation>Инструмент перезаписи прошивки &lt;b&gt;dfu-util&lt;/b&gt; не найден или не является исполняемым. Убедитесь, что он находится в пути поиска, или настройте его на странице настройки MicroPython.</translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="283"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="286"/>
         <source>&lt;h3&gt;Enable DFU Mode&lt;/h3&gt;&lt;p&gt;1. Disconnect everything from your board&lt;/p&gt;&lt;p&gt;2. Disconnect your board&lt;/p&gt;&lt;p&gt;3. Connect the DFU/BOOT0 pin with a 3.3V pin&lt;/p&gt;&lt;p&gt;4. Re-connect your board&lt;/p&gt;&lt;hr /&gt;</source>
         <translation>&lt;h3&gt;Включение режима DFU&lt;/h3&gt;&lt;p&gt;1. Отключите все от вашего устройства&lt;/p&gt;&lt;p&gt;2. Отключите ваше устройство&lt;/p&gt;&lt;p&gt;3. Соедините контакт DFU/BOOT0 с контактом 3,3 В&lt;/p&gt;&lt;p&gt;4. Повторно подключите ваше устройство&lt;/p&gt;&lt;hr /&gt;</translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="293"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="296"/>
         <source>&lt;p&gt;&lt;b&gt;Warning:&lt;/b&gt; Make sure that all other DFU capable devices except your PyBoard are disconnected.&lt;hr /&gt;</source>
         <translation>&lt;p&gt;&lt;b&gt;Предупреждение:&lt;/b&gt; Убедитесь, что все другие устройства с поддержкой DFU, кроме PyBoard, отключены.&lt;hr /&gt;</translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="299"/>
-        <source>&lt;p&gt;Press &lt;b&gt;OK&lt;/b&gt; to continue...&lt;/p&gt;</source>
-        <translation>&lt;p&gt;Нажмите &lt;b&gt;OK&lt;/b&gt; для продолжения...&lt;/p&gt;</translation>
-    </message>
-    <message>
         <location filename="../MicroPython/PyBoardDevices.py" line="302"/>
+        <source>&lt;p&gt;Press &lt;b&gt;OK&lt;/b&gt; to continue...&lt;/p&gt;</source>
+        <translation>&lt;p&gt;Нажмите &lt;b&gt;OK&lt;/b&gt; для продолжения...&lt;/p&gt;</translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/PyBoardDevices.py" line="305"/>
         <source>Enable DFU mode</source>
         <translation>Включить режим DFU</translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="316"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="319"/>
         <source>&lt;h3&gt;Disable DFU Mode&lt;/h3&gt;&lt;p&gt;1. Disconnect your board&lt;/p&gt;&lt;p&gt;2. Remove the DFU jumper&lt;/p&gt;&lt;p&gt;3. Re-connect your board&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Press &lt;b&gt;OK&lt;/b&gt; to continue...&lt;/p&gt;</source>
         <translation>&lt;h3&gt;Выключение режима DFU&lt;/h3&gt;&lt;p&gt;1. Отключите ваше устройство&lt;/p&gt;&lt;p&gt;2. Удалите перемычку DFU&lt;/p&gt;&lt;p&gt;3. Повторно подключите устройство&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Нажмите &lt;b&gt;ОК&lt;/b&gt; для продолжения...&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="324"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="327"/>
         <source>Disable DFU mode</source>
         <translation>Отключить режим DFU</translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="379"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="382"/>
         <source>&apos;dfu-util&apos; Output</source>
         <translation>Вывод команды&apos;dfu-util&apos;</translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="345"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="348"/>
         <source>List DFU capable Devices</source>
         <translation>Список устройств с поддержкой DFU</translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="367"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="370"/>
         <source>MicroPython Firmware Files (*.dfu);;All Files (*)</source>
         <translation>Файлы прошивки MicroPython (*.dfu);;Все файлы (*)</translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="186"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="189"/>
         <source>Python files for PyBoard can be edited in place, if the device volume is locally available. Such a volume was not found. In place editing will not be available.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -75437,43 +75450,43 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="88"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="91"/>
         <source>{0} (*)</source>
         <comment>list entry is modified</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="165"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="168"/>
         <source>Delete Unknown Devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="147"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="150"/>
         <source>The selected entries contain some with modified data. Shall they really be deleted?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="165"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="168"/>
         <source>The list contains some devices with modified data. Shall they really be deleted?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="181"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="184"/>
         <source>Restore Unknown Devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="181"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="184"/>
         <source>Restoring the list of unknown devices will overwrite all changes made. Do you really want to restore the list?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="244"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="247"/>
         <source>Unsaved Data</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="244"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="247"/>
         <source>The list of devices contains some with modified data.</source>
         <translation type="unfinished"></translation>
     </message>
--- a/eric6/i18n/eric6_tr.ts	Sat Feb 06 19:18:22 2021 +0100
+++ b/eric6/i18n/eric6_tr.ts	Sat Feb 06 19:22:22 2021 +0100
@@ -20084,6 +20084,19 @@
     </message>
 </context>
 <context>
+    <name>GenericMicroPythonDevice</name>
+    <message>
+        <location filename="../MicroPython/GenericMicroPythonDevices.py" line="194"/>
+        <source>Workspace Directory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/GenericMicroPythonDevices.py" line="194"/>
+        <source>Python files for this generic board can be edited in place, if the device volume is locally available. A volume named &apos;{0}&apos; was not found. In place editing will not be available.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>Git</name>
     <message>
         <location filename="../Plugins/VcsPlugins/vcsGit/git.py" line="205"/>
@@ -47263,42 +47276,42 @@
 <context>
     <name>MicroPythonDevice</name>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="297"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="306"/>
         <source>Unsupported Device</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="307"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="316"/>
         <source>REPL is not supported by this device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="326"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="335"/>
         <source>Plotter is not supported by this device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="345"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="354"/>
         <source>Running scripts is not supported by this device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="365"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="374"/>
         <source>File Manager is not supported by this device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="410"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="417"/>
         <source>Select Device Directory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="410"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="417"/>
         <source>Select the directory for the connected device:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="113"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="112"/>
         <source>Generic Board</source>
         <translation type="unfinished"></translation>
     </message>
@@ -47906,17 +47919,17 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="516"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="529"/>
         <source>Press to connect the selected device</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="267"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="271"/>
         <source>&lt;h3&gt;The QtSerialPort package is not available.&lt;br/&gt;MicroPython support is deactivated.&lt;/h3&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location filename="../MicroPython/MicroPythonWidget.py" line="304"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="308"/>
         <source>%n supported device(s) detected.</source>
         <translation type="unfinished">
             <numerusform></numerusform>
@@ -47924,37 +47937,37 @@
         </translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="323"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="330"/>
         <source>No supported devices detected.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="486"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="499"/>
         <source>Clear</source>
         <translation type="unfinished">Temizle</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="488"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="501"/>
         <source>Copy</source>
         <translation type="unfinished">Kopyala</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="489"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="502"/>
         <source>Paste</source>
         <translation type="unfinished">Yapıştır</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="511"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="524"/>
         <source>Press to disconnect the current device</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="532"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="545"/>
         <source>No device attached</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="532"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="545"/>
         <source>Please ensure the device is plugged into your computer and selected.
 
 It must have a version of MicroPython (or CircuitPython) flashed onto it before anything will work.
@@ -47963,217 +47976,217 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="559"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="572"/>
         <source>Start REPL</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="559"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="572"/>
         <source>&lt;p&gt;The REPL cannot be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="961"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="974"/>
         <source>Serial Device Connect</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="961"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="974"/>
         <source>&lt;p&gt;Cannot connect to device at serial port &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1006"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1019"/>
         <source>Run Script</source>
         <translation type="unfinished">Betiği Çalıştır</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="989"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1002"/>
         <source>There is no editor open. Abort...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="997"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1010"/>
         <source>The current editor does not contain a script. Abort...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1006"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1019"/>
         <source>&lt;p&gt;Cannot run script.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1030"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1043"/>
         <source>Open Python File</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1030"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1043"/>
         <source>Python3 Files (*.py);;All Files (*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1075"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1088"/>
         <source>Start Chart</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1075"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1088"/>
         <source>&lt;p&gt;The Chart cannot be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1104"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1117"/>
         <source>Unsaved Chart Data</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1104"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1117"/>
         <source>The chart contains unsaved data.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1155"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1168"/>
         <source>Start File Manager</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1155"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1168"/>
         <source>&lt;p&gt;The File Manager cannot be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1226"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1239"/>
         <source>Show Version</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1229"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1242"/>
         <source>Show Implementation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1351"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1364"/>
         <source>Synchronize Time</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1237"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1250"/>
         <source>Show Device Time</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1240"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1253"/>
         <source>Show Local Time</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1569"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1582"/>
         <source>Compile Python File</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1589"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1602"/>
         <source>Compile Current Editor</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1288"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1301"/>
         <source>&lt;h3&gt;Device Version Information&lt;/h3&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1297"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1310"/>
         <source>No version information available.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1299"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1312"/>
         <source>Device Version Information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1322"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1335"/>
         <source>unknown</source>
         <translation type="unfinished">bilinmeyen</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1326"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1339"/>
         <source>Device Implementation Information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1326"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1339"/>
         <source>&lt;h3&gt;Device Implementation Information&lt;/h3&gt;&lt;p&gt;This device contains &lt;b&gt;{0} {1}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1351"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1364"/>
         <source>&lt;p&gt;The time of the connected device was synchronized with the local time.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1373"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1386"/>
         <source>&lt;h3&gt;Device Date and Time&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1381"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1394"/>
         <source>&lt;h3&gt;Device Date and Time&lt;/h3&gt;&lt;p&gt;{0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1396"/>
-        <source>Device Date and Time</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../MicroPython/MicroPythonWidget.py" line="1409"/>
+        <source>Device Date and Time</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1422"/>
         <source>Local Date and Time</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1409"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1422"/>
         <source>&lt;h3&gt;Local Date and Time&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1477"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1490"/>
         <source>Error handling device</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1477"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1490"/>
         <source>&lt;p&gt;There was an error communicating with the connected device.&lt;/p&gt;&lt;p&gt;Method: {0}&lt;/p&gt;&lt;p&gt;Message: {1}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1517"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1530"/>
         <source>The MicroPython cross compiler &lt;b&gt;mpy-cross&lt;/b&gt; cannot be found. Ensure it is in the search path or configure it on the MicroPython configuration page.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1539"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1552"/>
         <source>Python Files (*.py);;All Files (*)</source>
         <translation type="unfinished">Python Dosyaları (*.py);;Tüm Dosyalar (*)</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1549"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1562"/>
         <source>The Python file &lt;b&gt;{0}&lt;/b&gt; does not exist. Aborting...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1559"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1572"/>
         <source>&apos;mpy-cross&apos; Output</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1582"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1595"/>
         <source>The current editor does not contain a Python file. Aborting...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="215"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="219"/>
         <source>MicroPython Menu</source>
         <translation type="unfinished"></translation>
     </message>
@@ -48183,99 +48196,99 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1088"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1101"/>
         <source>&#xc2;&#xb5;Py Chart</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1171"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1184"/>
         <source>&#xc2;&#xb5;Py Files</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1269"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1282"/>
         <source>Show Documentation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1278"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1291"/>
         <source>Configure</source>
         <translation type="unfinished">Yapılandırma</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1243"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1256"/>
         <source>Show Time</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1262"/>
-        <source>Download Firmware</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1452"/>
-        <source>Date and Time</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1435"/>
-        <source>&lt;table&gt;&lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;Local Date and Time&lt;/th&gt;&lt;th&gt;Device Date and Time&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{0}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{1}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{3}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1452"/>
-        <source>&lt;table&gt;&lt;tr&gt;&lt;th&gt;Local Date and Time&lt;/th&gt;&lt;th&gt;Device Date and Time&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&apos;center&apos;&gt;{0} {1}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="373"/>
-        <source>Unknown MicroPython Device</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../MicroPython/MicroPythonWidget.py" line="1275"/>
+        <source>Download Firmware</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1465"/>
+        <source>Date and Time</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1448"/>
+        <source>&lt;table&gt;&lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;Local Date and Time&lt;/th&gt;&lt;th&gt;Device Date and Time&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{0}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{1}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{3}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1465"/>
+        <source>&lt;table&gt;&lt;tr&gt;&lt;th&gt;Local Date and Time&lt;/th&gt;&lt;th&gt;Device Date and Time&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&apos;center&apos;&gt;{0} {1}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="380"/>
+        <source>Unknown MicroPython Device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1288"/>
         <source>Ignored Serial Devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1211"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1224"/>
         <source>Downloads</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="310"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="313"/>
         <source>{0} - {1} ({2})</source>
         <comment>board name, description, port name</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="345"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="352"/>
         <source>&lt;p&gt;Detected these unknown serial devices&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Please report them together with the board name and a short description to &lt;a href=&quot;mailto:{1}&quot;&gt; the eric bug reporting address&lt;/a&gt; if it is a MicroPython board.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="345"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="352"/>
         <source>{0} (0x{1:04x}/0x{2:04x})</source>
         <comment>description, VId, PId</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="373"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="380"/>
         <source>Would you like to add them to the list of manually configured devices?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1273"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1286"/>
         <source>Manage Unknown Devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1674"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1687"/>
         <source>Add Unknown Devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1674"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1687"/>
         <source>Select the devices to be added:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -58042,82 +58055,82 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="186"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="189"/>
         <source>Workspace Directory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="225"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="228"/>
         <source>List DFU-capable Devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="379"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="382"/>
         <source>Flash MicroPython Firmware</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="232"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="235"/>
         <source>MicroPython Flash Instructions</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="262"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="265"/>
         <source>dfu-util not available</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="262"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="265"/>
         <source>The dfu-util firmware flashing tool &lt;b&gt;dfu-util&lt;/b&gt; cannot be found or is not executable. Ensure it is in the search path or configure it on the MicroPython configuration page.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="283"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="286"/>
         <source>&lt;h3&gt;Enable DFU Mode&lt;/h3&gt;&lt;p&gt;1. Disconnect everything from your board&lt;/p&gt;&lt;p&gt;2. Disconnect your board&lt;/p&gt;&lt;p&gt;3. Connect the DFU/BOOT0 pin with a 3.3V pin&lt;/p&gt;&lt;p&gt;4. Re-connect your board&lt;/p&gt;&lt;hr /&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="293"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="296"/>
         <source>&lt;p&gt;&lt;b&gt;Warning:&lt;/b&gt; Make sure that all other DFU capable devices except your PyBoard are disconnected.&lt;hr /&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="299"/>
-        <source>&lt;p&gt;Press &lt;b&gt;OK&lt;/b&gt; to continue...&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../MicroPython/PyBoardDevices.py" line="302"/>
+        <source>&lt;p&gt;Press &lt;b&gt;OK&lt;/b&gt; to continue...&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/PyBoardDevices.py" line="305"/>
         <source>Enable DFU mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="316"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="319"/>
         <source>&lt;h3&gt;Disable DFU Mode&lt;/h3&gt;&lt;p&gt;1. Disconnect your board&lt;/p&gt;&lt;p&gt;2. Remove the DFU jumper&lt;/p&gt;&lt;p&gt;3. Re-connect your board&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Press &lt;b&gt;OK&lt;/b&gt; to continue...&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="324"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="327"/>
         <source>Disable DFU mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="379"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="382"/>
         <source>&apos;dfu-util&apos; Output</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="345"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="348"/>
         <source>List DFU capable Devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="367"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="370"/>
         <source>MicroPython Firmware Files (*.dfu);;All Files (*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="186"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="189"/>
         <source>Python files for PyBoard can be edited in place, if the device volume is locally available. Such a volume was not found. In place editing will not be available.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -78554,43 +78567,43 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="88"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="91"/>
         <source>{0} (*)</source>
         <comment>list entry is modified</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="165"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="168"/>
         <source>Delete Unknown Devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="147"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="150"/>
         <source>The selected entries contain some with modified data. Shall they really be deleted?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="165"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="168"/>
         <source>The list contains some devices with modified data. Shall they really be deleted?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="181"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="184"/>
         <source>Restore Unknown Devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="181"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="184"/>
         <source>Restoring the list of unknown devices will overwrite all changes made. Do you really want to restore the list?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="244"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="247"/>
         <source>Unsaved Data</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="244"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="247"/>
         <source>The list of devices contains some with modified data.</source>
         <translation type="unfinished"></translation>
     </message>
--- a/eric6/i18n/eric6_zh_CN.ts	Sat Feb 06 19:18:22 2021 +0100
+++ b/eric6/i18n/eric6_zh_CN.ts	Sat Feb 06 19:22:22 2021 +0100
@@ -20187,6 +20187,19 @@
     </message>
 </context>
 <context>
+    <name>GenericMicroPythonDevice</name>
+    <message>
+        <location filename="../MicroPython/GenericMicroPythonDevices.py" line="194"/>
+        <source>Workspace Directory</source>
+        <translation type="unfinished">工作空间目录</translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/GenericMicroPythonDevices.py" line="194"/>
+        <source>Python files for this generic board can be edited in place, if the device volume is locally available. A volume named &apos;{0}&apos; was not found. In place editing will not be available.</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
+<context>
     <name>Git</name>
     <message>
         <location filename="../Plugins/VcsPlugins/vcsGit/git.py" line="205"/>
@@ -47860,42 +47873,42 @@
 <context>
     <name>MicroPythonDevice</name>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="297"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="306"/>
         <source>Unsupported Device</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="307"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="316"/>
         <source>REPL is not supported by this device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="326"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="335"/>
         <source>Plotter is not supported by this device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="345"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="354"/>
         <source>Running scripts is not supported by this device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="365"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="374"/>
         <source>File Manager is not supported by this device.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="410"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="417"/>
         <source>Select Device Directory</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="410"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="417"/>
         <source>Select the directory for the connected device:</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonDevices.py" line="113"/>
+        <location filename="../MicroPython/MicroPythonDevices.py" line="112"/>
         <source>Generic Board</source>
         <translation type="unfinished"></translation>
     </message>
@@ -48503,54 +48516,54 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="516"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="529"/>
         <source>Press to connect the selected device</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="267"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="271"/>
         <source>&lt;h3&gt;The QtSerialPort package is not available.&lt;br/&gt;MicroPython support is deactivated.&lt;/h3&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message numerus="yes">
-        <location filename="../MicroPython/MicroPythonWidget.py" line="304"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="308"/>
         <source>%n supported device(s) detected.</source>
         <translation type="unfinished">
             <numerusform></numerusform>
         </translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="323"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="330"/>
         <source>No supported devices detected.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="486"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="499"/>
         <source>Clear</source>
         <translation type="unfinished">清除</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="488"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="501"/>
         <source>Copy</source>
         <translation type="unfinished">复制</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="489"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="502"/>
         <source>Paste</source>
         <translation type="unfinished">粘贴</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="511"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="524"/>
         <source>Press to disconnect the current device</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="532"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="545"/>
         <source>No device attached</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="532"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="545"/>
         <source>Please ensure the device is plugged into your computer and selected.
 
 It must have a version of MicroPython (or CircuitPython) flashed onto it before anything will work.
@@ -48559,217 +48572,217 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="559"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="572"/>
         <source>Start REPL</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="559"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="572"/>
         <source>&lt;p&gt;The REPL cannot be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="961"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="974"/>
         <source>Serial Device Connect</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="961"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="974"/>
         <source>&lt;p&gt;Cannot connect to device at serial port &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1006"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1019"/>
         <source>Run Script</source>
         <translation type="unfinished">运行脚本</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="989"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1002"/>
         <source>There is no editor open. Abort...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="997"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1010"/>
         <source>The current editor does not contain a script. Abort...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1006"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1019"/>
         <source>&lt;p&gt;Cannot run script.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1030"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1043"/>
         <source>Open Python File</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1030"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1043"/>
         <source>Python3 Files (*.py);;All Files (*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1075"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1088"/>
         <source>Start Chart</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1075"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1088"/>
         <source>&lt;p&gt;The Chart cannot be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1104"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1117"/>
         <source>Unsaved Chart Data</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1104"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1117"/>
         <source>The chart contains unsaved data.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1155"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1168"/>
         <source>Start File Manager</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1155"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1168"/>
         <source>&lt;p&gt;The File Manager cannot be started.&lt;/p&gt;&lt;p&gt;Reason: {0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1226"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1239"/>
         <source>Show Version</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1229"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1242"/>
         <source>Show Implementation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1351"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1364"/>
         <source>Synchronize Time</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1237"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1250"/>
         <source>Show Device Time</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1240"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1253"/>
         <source>Show Local Time</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1569"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1582"/>
         <source>Compile Python File</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1589"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1602"/>
         <source>Compile Current Editor</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1288"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1301"/>
         <source>&lt;h3&gt;Device Version Information&lt;/h3&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1297"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1310"/>
         <source>No version information available.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1299"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1312"/>
         <source>Device Version Information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1322"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1335"/>
         <source>unknown</source>
         <translation type="unfinished">未知</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1326"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1339"/>
         <source>Device Implementation Information</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1326"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1339"/>
         <source>&lt;h3&gt;Device Implementation Information&lt;/h3&gt;&lt;p&gt;This device contains &lt;b&gt;{0} {1}&lt;/b&gt;.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1351"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1364"/>
         <source>&lt;p&gt;The time of the connected device was synchronized with the local time.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1373"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1386"/>
         <source>&lt;h3&gt;Device Date and Time&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1381"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1394"/>
         <source>&lt;h3&gt;Device Date and Time&lt;/h3&gt;&lt;p&gt;{0}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1396"/>
-        <source>Device Date and Time</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../MicroPython/MicroPythonWidget.py" line="1409"/>
+        <source>Device Date and Time</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1422"/>
         <source>Local Date and Time</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1409"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1422"/>
         <source>&lt;h3&gt;Local Date and Time&lt;/h3&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{0}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td&gt;{1}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1477"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1490"/>
         <source>Error handling device</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1477"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1490"/>
         <source>&lt;p&gt;There was an error communicating with the connected device.&lt;/p&gt;&lt;p&gt;Method: {0}&lt;/p&gt;&lt;p&gt;Message: {1}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1517"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1530"/>
         <source>The MicroPython cross compiler &lt;b&gt;mpy-cross&lt;/b&gt; cannot be found. Ensure it is in the search path or configure it on the MicroPython configuration page.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1539"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1552"/>
         <source>Python Files (*.py);;All Files (*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1549"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1562"/>
         <source>The Python file &lt;b&gt;{0}&lt;/b&gt; does not exist. Aborting...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1559"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1572"/>
         <source>&apos;mpy-cross&apos; Output</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1582"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1595"/>
         <source>The current editor does not contain a Python file. Aborting...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="215"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="219"/>
         <source>MicroPython Menu</source>
         <translation type="unfinished"></translation>
     </message>
@@ -48779,99 +48792,99 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1088"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1101"/>
         <source>&#xc2;&#xb5;Py Chart</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1171"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1184"/>
         <source>&#xc2;&#xb5;Py Files</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1269"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1282"/>
         <source>Show Documentation</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1278"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1291"/>
         <source>Configure</source>
         <translation type="unfinished">配置</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1243"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1256"/>
         <source>Show Time</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1262"/>
-        <source>Download Firmware</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1452"/>
-        <source>Date and Time</source>
-        <translation type="unfinished">日期和时间</translation>
-    </message>
-    <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1435"/>
-        <source>&lt;table&gt;&lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;Local Date and Time&lt;/th&gt;&lt;th&gt;Device Date and Time&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{0}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{1}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{3}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1452"/>
-        <source>&lt;table&gt;&lt;tr&gt;&lt;th&gt;Local Date and Time&lt;/th&gt;&lt;th&gt;Device Date and Time&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&apos;center&apos;&gt;{0} {1}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="373"/>
-        <source>Unknown MicroPython Device</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../MicroPython/MicroPythonWidget.py" line="1275"/>
+        <source>Download Firmware</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1465"/>
+        <source>Date and Time</source>
+        <translation type="unfinished">日期和时间</translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1448"/>
+        <source>&lt;table&gt;&lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;Local Date and Time&lt;/th&gt;&lt;th&gt;Device Date and Time&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Date&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{0}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;Time&lt;/b&gt;&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{1}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{3}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1465"/>
+        <source>&lt;table&gt;&lt;tr&gt;&lt;th&gt;Local Date and Time&lt;/th&gt;&lt;th&gt;Device Date and Time&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align=&apos;center&apos;&gt;{0} {1}&lt;/td&gt;&lt;td align=&apos;center&apos;&gt;{2}&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="380"/>
+        <source>Unknown MicroPython Device</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1288"/>
         <source>Ignored Serial Devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1211"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1224"/>
         <source>Downloads</source>
         <translation type="unfinished">下载</translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="310"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="313"/>
         <source>{0} - {1} ({2})</source>
         <comment>board name, description, port name</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="345"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="352"/>
         <source>&lt;p&gt;Detected these unknown serial devices&lt;/p&gt;&lt;ul&gt;&lt;li&gt;{0}&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Please report them together with the board name and a short description to &lt;a href=&quot;mailto:{1}&quot;&gt; the eric bug reporting address&lt;/a&gt; if it is a MicroPython board.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="345"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="352"/>
         <source>{0} (0x{1:04x}/0x{2:04x})</source>
         <comment>description, VId, PId</comment>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="373"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="380"/>
         <source>Would you like to add them to the list of manually configured devices?</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1273"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1286"/>
         <source>Manage Unknown Devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1674"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1687"/>
         <source>Add Unknown Devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/MicroPythonWidget.py" line="1674"/>
+        <location filename="../MicroPython/MicroPythonWidget.py" line="1687"/>
         <source>Select the devices to be added:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -58823,82 +58836,82 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="186"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="189"/>
         <source>Workspace Directory</source>
         <translation type="unfinished">工作空间目录</translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="225"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="228"/>
         <source>List DFU-capable Devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="379"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="382"/>
         <source>Flash MicroPython Firmware</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="232"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="235"/>
         <source>MicroPython Flash Instructions</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="262"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="265"/>
         <source>dfu-util not available</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="262"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="265"/>
         <source>The dfu-util firmware flashing tool &lt;b&gt;dfu-util&lt;/b&gt; cannot be found or is not executable. Ensure it is in the search path or configure it on the MicroPython configuration page.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="283"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="286"/>
         <source>&lt;h3&gt;Enable DFU Mode&lt;/h3&gt;&lt;p&gt;1. Disconnect everything from your board&lt;/p&gt;&lt;p&gt;2. Disconnect your board&lt;/p&gt;&lt;p&gt;3. Connect the DFU/BOOT0 pin with a 3.3V pin&lt;/p&gt;&lt;p&gt;4. Re-connect your board&lt;/p&gt;&lt;hr /&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="293"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="296"/>
         <source>&lt;p&gt;&lt;b&gt;Warning:&lt;/b&gt; Make sure that all other DFU capable devices except your PyBoard are disconnected.&lt;hr /&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="299"/>
-        <source>&lt;p&gt;Press &lt;b&gt;OK&lt;/b&gt; to continue...&lt;/p&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
         <location filename="../MicroPython/PyBoardDevices.py" line="302"/>
+        <source>&lt;p&gt;Press &lt;b&gt;OK&lt;/b&gt; to continue...&lt;/p&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../MicroPython/PyBoardDevices.py" line="305"/>
         <source>Enable DFU mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="316"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="319"/>
         <source>&lt;h3&gt;Disable DFU Mode&lt;/h3&gt;&lt;p&gt;1. Disconnect your board&lt;/p&gt;&lt;p&gt;2. Remove the DFU jumper&lt;/p&gt;&lt;p&gt;3. Re-connect your board&lt;/p&gt;&lt;hr /&gt;&lt;p&gt;Press &lt;b&gt;OK&lt;/b&gt; to continue...&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="324"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="327"/>
         <source>Disable DFU mode</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="379"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="382"/>
         <source>&apos;dfu-util&apos; Output</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="345"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="348"/>
         <source>List DFU capable Devices</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="367"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="370"/>
         <source>MicroPython Firmware Files (*.dfu);;All Files (*)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/PyBoardDevices.py" line="186"/>
+        <location filename="../MicroPython/PyBoardDevices.py" line="189"/>
         <source>Python files for PyBoard can be edited in place, if the device volume is locally available. Such a volume was not found. In place editing will not be available.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -80196,43 +80209,43 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../MicroPython/UnknownDevicesDialog.py" line="88"/>
+        <location filename="../MicroPython/UnknownDevicesDialog.py" line="91"/>
         <source>{0} (*)</source>
         <comment>lis