Updated source docu.

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

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

Updated source docu.

eric6/APIs/Python3/eric6.api file | annotate | diff | comparison | revisions
eric6/APIs/Python3/eric6.bas file | annotate | diff | comparison | revisions
eric6/Documentation/Help/source.qch file | annotate | diff | comparison | revisions
eric6/Documentation/Help/source.qhp file | annotate | diff | comparison | revisions
eric6/Documentation/Source/eric6.MicroPython.AddEditDevicesDialog.html file | annotate | diff | comparison | revisions
eric6/Documentation/Source/eric6.MicroPython.CircuitPythonFirmwareSelectionDialog.html file | annotate | diff | comparison | revisions
eric6/Documentation/Source/eric6.MicroPython.GenericMicroPythonDevices.html file | annotate | diff | comparison | revisions
eric6/Documentation/Source/eric6.MicroPython.MicroPythonDevices.html file | annotate | diff | comparison | revisions
eric6/Documentation/Source/eric6.MicroPython.MicroPythonWidget.html file | annotate | diff | comparison | revisions
eric6/Documentation/Source/eric6.MicroPython.UnknownDevicesDialog.html file | annotate | diff | comparison | revisions
eric6/Documentation/Source/index-eric6.MicroPython.html file | annotate | diff | comparison | revisions
--- a/eric6/APIs/Python3/eric6.api	Sat Feb 06 19:22:22 2021 +0100
+++ b/eric6/APIs/Python3/eric6.api	Sat Feb 06 19:22:43 2021 +0100
@@ -2327,6 +2327,10 @@
 eric6.IconEditor.IconEditorWindow.IconEditorWindow?1(fileName="", parent=None, fromEric=False, initShortcutsOnly=False, project=None)
 eric6.IconEditor.IconSizeDialog.IconSizeDialog.getData?4()
 eric6.IconEditor.IconSizeDialog.IconSizeDialog?1(width, height, parent=None)
+eric6.MicroPython.AddEditDevicesDialog.AddEditDevicesDialog.getDeviceDict?4()
+eric6.MicroPython.AddEditDevicesDialog.AddEditDevicesDialog.on_deviceTypeComboBox_currentIndexChanged?4(index)
+eric6.MicroPython.AddEditDevicesDialog.AddEditDevicesDialog.on_reportButton_clicked?4()
+eric6.MicroPython.AddEditDevicesDialog.AddEditDevicesDialog?1(vid=0, pid=0, description=0, deviceData=None, parent=None)
 eric6.MicroPython.CircuitPythonDevices.CircuitPythonDevice.DeviceVolumeName?7
 eric6.MicroPython.CircuitPythonDevices.CircuitPythonDevice.addDeviceMenuEntries?4(menu)
 eric6.MicroPython.CircuitPythonDevices.CircuitPythonDevice.canRunScript?4()
@@ -2342,6 +2346,7 @@
 eric6.MicroPython.CircuitPythonDevices.CircuitPythonDevice.setButtons?4()
 eric6.MicroPython.CircuitPythonDevices.CircuitPythonDevice.supportsLocalFileAccess?4()
 eric6.MicroPython.CircuitPythonDevices.CircuitPythonDevice?1(microPythonWidget, parent=None)
+eric6.MicroPython.CircuitPythonFirmwareSelectionDialog.CircuitPythonFirmwareSelectionDialog.Boards?7
 eric6.MicroPython.CircuitPythonFirmwareSelectionDialog.CircuitPythonFirmwareSelectionDialog.getData?4()
 eric6.MicroPython.CircuitPythonFirmwareSelectionDialog.CircuitPythonFirmwareSelectionDialog.on_boardComboBox_currentIndexChanged?4(index)
 eric6.MicroPython.CircuitPythonFirmwareSelectionDialog.CircuitPythonFirmwareSelectionDialog.on_bootPicker_textChanged?4(devicePath)
@@ -2371,6 +2376,16 @@
 eric6.MicroPython.EspFirmwareSelectionDialog.EspFirmwareSelectionDialog.on_espComboBox_currentTextChanged?4(chip)
 eric6.MicroPython.EspFirmwareSelectionDialog.EspFirmwareSelectionDialog.on_firmwarePicker_textChanged?4(firmware)
 eric6.MicroPython.EspFirmwareSelectionDialog.EspFirmwareSelectionDialog?1(addon=False, parent=None)
+eric6.MicroPython.GenericMicroPythonDevices.GenericMicroPythonDevice.canRunScript?4()
+eric6.MicroPython.GenericMicroPythonDevices.GenericMicroPythonDevice.canStartFileManager?4()
+eric6.MicroPython.GenericMicroPythonDevices.GenericMicroPythonDevice.canStartPlotter?4()
+eric6.MicroPython.GenericMicroPythonDevices.GenericMicroPythonDevice.canStartRepl?4()
+eric6.MicroPython.GenericMicroPythonDevices.GenericMicroPythonDevice.deviceName?4()
+eric6.MicroPython.GenericMicroPythonDevices.GenericMicroPythonDevice.getWorkspace?4(silent=False)
+eric6.MicroPython.GenericMicroPythonDevices.GenericMicroPythonDevice.runScript?4(script)
+eric6.MicroPython.GenericMicroPythonDevices.GenericMicroPythonDevice.setButtons?4()
+eric6.MicroPython.GenericMicroPythonDevices.GenericMicroPythonDevice.supportsLocalFileAccess?4()
+eric6.MicroPython.GenericMicroPythonDevices.GenericMicroPythonDevice?1(microPythonWidget, vid, pid, parent=None)
 eric6.MicroPython.IgnoredDevicesDialog.IgnoredDevicesDialog.getDevices?4()
 eric6.MicroPython.IgnoredDevicesDialog.IgnoredDevicesDialog?1(deviceList, parent=None)
 eric6.MicroPython.MicroPythonCommandsInterface.MicroPythonCommandsInterface.cd?4(dirname)
@@ -2426,7 +2441,7 @@
 eric6.MicroPython.MicroPythonDevices.MicroPythonDevice.supportsLocalFileAccess?4()
 eric6.MicroPython.MicroPythonDevices.MicroPythonDevice?1(microPythonWidget, parent=None)
 eric6.MicroPython.MicroPythonDevices.SupportedBoards?7
-eric6.MicroPython.MicroPythonDevices.getDevice?4(deviceType, microPythonWidget)
+eric6.MicroPython.MicroPythonDevices.getDevice?4(deviceType, microPythonWidget, vid, pid)
 eric6.MicroPython.MicroPythonDevices.getDeviceIcon?4(boardName, iconFormat=True)
 eric6.MicroPython.MicroPythonDevices.getFoundDevices?4()
 eric6.MicroPython.MicroPythonDevices.getSupportedDevices?4()
@@ -2496,8 +2511,10 @@
 eric6.MicroPython.MicroPythonSerialPort.MicroPythonSerialPort?1(timeout=10000, parent=None)
 eric6.MicroPython.MicroPythonWidget.AnsiColorSchemes?7
 eric6.MicroPython.MicroPythonWidget.MicroPythonWidget.DeviceBoardRole?7
+eric6.MicroPython.MicroPythonWidget.MicroPythonWidget.DevicePidRole?7
 eric6.MicroPython.MicroPythonWidget.MicroPythonWidget.DevicePortRole?7
 eric6.MicroPython.MicroPythonWidget.MicroPythonWidget.DeviceTypeRole?7
+eric6.MicroPython.MicroPythonWidget.MicroPythonWidget.DeviceVidRole?7
 eric6.MicroPython.MicroPythonWidget.MicroPythonWidget.ZoomMax?7
 eric6.MicroPython.MicroPythonWidget.MicroPythonWidget.ZoomMin?7
 eric6.MicroPython.MicroPythonWidget.MicroPythonWidget.commandsInterface?4()
@@ -2549,6 +2566,18 @@
 eric6.MicroPython.PyBoardDevices.PyBoardDevice.setButtons?4()
 eric6.MicroPython.PyBoardDevices.PyBoardDevice.supportsLocalFileAccess?4()
 eric6.MicroPython.PyBoardDevices.PyBoardDevice?1(microPythonWidget, parent=None)
+eric6.MicroPython.UnknownDevicesDialog.UnknownDevicesDialog.DeviceDataRole?7
+eric6.MicroPython.UnknownDevicesDialog.UnknownDevicesDialog.ModifiedRole?7
+eric6.MicroPython.UnknownDevicesDialog.UnknownDevicesDialog.on_buttonBox_accepted?4()
+eric6.MicroPython.UnknownDevicesDialog.UnknownDevicesDialog.on_buttonBox_rejected?4()
+eric6.MicroPython.UnknownDevicesDialog.UnknownDevicesDialog.on_deleteAllButton_clicked?4()
+eric6.MicroPython.UnknownDevicesDialog.UnknownDevicesDialog.on_deleteButton_clicked?4()
+eric6.MicroPython.UnknownDevicesDialog.UnknownDevicesDialog.on_deviceList_itemActivated?4(item)
+eric6.MicroPython.UnknownDevicesDialog.UnknownDevicesDialog.on_deviceList_itemSelectionChanged?4()
+eric6.MicroPython.UnknownDevicesDialog.UnknownDevicesDialog.on_editButton_clicked?4()
+eric6.MicroPython.UnknownDevicesDialog.UnknownDevicesDialog.on_reportButton_clicked?4()
+eric6.MicroPython.UnknownDevicesDialog.UnknownDevicesDialog.on_restoreButton_clicked?4()
+eric6.MicroPython.UnknownDevicesDialog.UnknownDevicesDialog?1(parent=None)
 eric6.MultiProject.AddProjectDialog.AddProjectDialog.getData?4()
 eric6.MultiProject.AddProjectDialog.AddProjectDialog.on_filenamePicker_textChanged?4(txt)
 eric6.MultiProject.AddProjectDialog.AddProjectDialog.on_nameEdit_textChanged?4(txt)
--- a/eric6/APIs/Python3/eric6.bas	Sat Feb 06 19:22:22 2021 +0100
+++ b/eric6/APIs/Python3/eric6.bas	Sat Feb 06 19:22:43 2021 +0100
@@ -16,6 +16,7 @@
 AddBookmarkDialog QDialog Ui_AddBookmarkDialog
 AddBookmarkProxyModel QSortFilterProxyModel
 AddDirectoryDialog QDialog Ui_AddDirectoryDialog
+AddEditDevicesDialog QDialog Ui_AddEditDevicesDialog
 AddFileDialog QDialog Ui_AddFileDialog
 AddFoundFilesDialog QDialog Ui_AddFoundFilesDialog
 AddLanguageDialog QDialog Ui_AddLanguageDialog
@@ -320,6 +321,7 @@
 FtpSyncHandler SyncHandler
 Function ClbrBaseClasses.Function VisibilityMixin
 FunctionVisitor ast.NodeVisitor
+GenericMicroPythonDevice MicroPythonDevice
 Git VersionControl
 GitAddRemoteDialog QDialog Ui_GitAddRemoteDialog
 GitApplyBundleDataDialog QDialog Ui_GitApplyBundleDataDialog
@@ -959,6 +961,7 @@
 UniqueNamespace peg.Namespace
 UnittestDialog QWidget Ui_UnittestDialog
 UnittestWindow E5MainWindow
+UnknownDevicesDialog QDialog Ui_UnknownDevicesDialog
 UrlBar E5LineEdit
 UrlInterceptor QObject
 UserAgentManager QObject
Binary file eric6/Documentation/Help/source.qch has changed
--- a/eric6/Documentation/Help/source.qhp	Sat Feb 06 19:22:22 2021 +0100
+++ b/eric6/Documentation/Help/source.qhp	Sat Feb 06 19:22:43 2021 +0100
@@ -235,11 +235,13 @@
             <section title="eric6.IconEditor.IconSizeDialog" ref="eric6.IconEditor.IconSizeDialog.html" />
           </section>
           <section title="eric6.MicroPython" ref="index-eric6.MicroPython.html">
+            <section title="eric6.MicroPython.AddEditDevicesDialog" ref="eric6.MicroPython.AddEditDevicesDialog.html" />
             <section title="eric6.MicroPython.CircuitPythonDevices" ref="eric6.MicroPython.CircuitPythonDevices.html" />
             <section title="eric6.MicroPython.CircuitPythonFirmwareSelectionDialog" ref="eric6.MicroPython.CircuitPythonFirmwareSelectionDialog.html" />
             <section title="eric6.MicroPython.EspBackupRestoreFirmwareDialog" ref="eric6.MicroPython.EspBackupRestoreFirmwareDialog.html" />
             <section title="eric6.MicroPython.EspDevices" ref="eric6.MicroPython.EspDevices.html" />
             <section title="eric6.MicroPython.EspFirmwareSelectionDialog" ref="eric6.MicroPython.EspFirmwareSelectionDialog.html" />
+            <section title="eric6.MicroPython.GenericMicroPythonDevices" ref="eric6.MicroPython.GenericMicroPythonDevices.html" />
             <section title="eric6.MicroPython.IgnoredDevicesDialog" ref="eric6.MicroPython.IgnoredDevicesDialog.html" />
             <section title="eric6.MicroPython.MicroPythonCommandsInterface" ref="eric6.MicroPython.MicroPythonCommandsInterface.html" />
             <section title="eric6.MicroPython.MicroPythonDevices" ref="eric6.MicroPython.MicroPythonDevices.html" />
@@ -252,6 +254,7 @@
             <section title="eric6.MicroPython.MicroPythonWidget" ref="eric6.MicroPython.MicroPythonWidget.html" />
             <section title="eric6.MicroPython.MicrobitDevices" ref="eric6.MicroPython.MicrobitDevices.html" />
             <section title="eric6.MicroPython.PyBoardDevices" ref="eric6.MicroPython.PyBoardDevices.html" />
+            <section title="eric6.MicroPython.UnknownDevicesDialog" ref="eric6.MicroPython.UnknownDevicesDialog.html" />
           </section>
           <section title="eric6.MultiProject" ref="index-eric6.MultiProject.html">
             <section title="eric6.MultiProject.AddProjectDialog" ref="eric6.MultiProject.AddProjectDialog.html" />
@@ -1703,6 +1706,12 @@
       <keyword name="AddDirectoryDialog.getData" id="AddDirectoryDialog.getData" ref="eric6.Project.AddDirectoryDialog.html#AddDirectoryDialog.getData" />
       <keyword name="AddDirectoryDialog.on_filterComboBox_highlighted" id="AddDirectoryDialog.on_filterComboBox_highlighted" ref="eric6.Project.AddDirectoryDialog.html#AddDirectoryDialog.on_filterComboBox_highlighted" />
       <keyword name="AddDirectoryDialog.on_sourceDirPicker_textChanged" id="AddDirectoryDialog.on_sourceDirPicker_textChanged" ref="eric6.Project.AddDirectoryDialog.html#AddDirectoryDialog.on_sourceDirPicker_textChanged" />
+      <keyword name="AddEditDevicesDialog" id="AddEditDevicesDialog" ref="eric6.MicroPython.AddEditDevicesDialog.html#AddEditDevicesDialog" />
+      <keyword name="AddEditDevicesDialog (Constructor)" id="AddEditDevicesDialog (Constructor)" ref="eric6.MicroPython.AddEditDevicesDialog.html#AddEditDevicesDialog.__init__" />
+      <keyword name="AddEditDevicesDialog (Module)" id="AddEditDevicesDialog (Module)" ref="eric6.MicroPython.AddEditDevicesDialog.html" />
+      <keyword name="AddEditDevicesDialog.getDeviceDict" id="AddEditDevicesDialog.getDeviceDict" ref="eric6.MicroPython.AddEditDevicesDialog.html#AddEditDevicesDialog.getDeviceDict" />
+      <keyword name="AddEditDevicesDialog.on_deviceTypeComboBox_currentIndexChanged" id="AddEditDevicesDialog.on_deviceTypeComboBox_currentIndexChanged" ref="eric6.MicroPython.AddEditDevicesDialog.html#AddEditDevicesDialog.on_deviceTypeComboBox_currentIndexChanged" />
+      <keyword name="AddEditDevicesDialog.on_reportButton_clicked" id="AddEditDevicesDialog.on_reportButton_clicked" ref="eric6.MicroPython.AddEditDevicesDialog.html#AddEditDevicesDialog.on_reportButton_clicked" />
       <keyword name="AddFileDialog" id="AddFileDialog" ref="eric6.Project.AddFileDialog.html#AddFileDialog" />
       <keyword name="AddFileDialog (Constructor)" id="AddFileDialog (Constructor)" ref="eric6.Project.AddFileDialog.html#AddFileDialog.__init__" />
       <keyword name="AddFileDialog (Module)" id="AddFileDialog (Module)" ref="eric6.Project.AddFileDialog.html" />
@@ -5952,6 +5961,20 @@
       <keyword name="FunctionVisitor.visit_AsyncFunctionDef" id="FunctionVisitor.visit_AsyncFunctionDef" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsChecker.html#FunctionVisitor.visit_AsyncFunctionDef" />
       <keyword name="FunctionVisitor.visit_ClassDef" id="FunctionVisitor.visit_ClassDef" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsChecker.html#FunctionVisitor.visit_ClassDef" />
       <keyword name="FunctionVisitor.visit_FunctionDef" id="FunctionVisitor.visit_FunctionDef" ref="eric6.Plugins.CheckerPlugins.CodeStyleChecker.Annotations.AnnotationsChecker.html#FunctionVisitor.visit_FunctionDef" />
+      <keyword name="GenericMicroPythonDevice" id="GenericMicroPythonDevice" ref="eric6.MicroPython.GenericMicroPythonDevices.html#GenericMicroPythonDevice" />
+      <keyword name="GenericMicroPythonDevice (Constructor)" id="GenericMicroPythonDevice (Constructor)" ref="eric6.MicroPython.GenericMicroPythonDevices.html#GenericMicroPythonDevice.__init__" />
+      <keyword name="GenericMicroPythonDevice.__deviceVolumeMounted" id="GenericMicroPythonDevice.__deviceVolumeMounted" ref="eric6.MicroPython.GenericMicroPythonDevices.html#GenericMicroPythonDevice.__deviceVolumeMounted" />
+      <keyword name="GenericMicroPythonDevice.__findWorkspace" id="GenericMicroPythonDevice.__findWorkspace" ref="eric6.MicroPython.GenericMicroPythonDevices.html#GenericMicroPythonDevice.__findWorkspace" />
+      <keyword name="GenericMicroPythonDevice.canRunScript" id="GenericMicroPythonDevice.canRunScript" ref="eric6.MicroPython.GenericMicroPythonDevices.html#GenericMicroPythonDevice.canRunScript" />
+      <keyword name="GenericMicroPythonDevice.canStartFileManager" id="GenericMicroPythonDevice.canStartFileManager" ref="eric6.MicroPython.GenericMicroPythonDevices.html#GenericMicroPythonDevice.canStartFileManager" />
+      <keyword name="GenericMicroPythonDevice.canStartPlotter" id="GenericMicroPythonDevice.canStartPlotter" ref="eric6.MicroPython.GenericMicroPythonDevices.html#GenericMicroPythonDevice.canStartPlotter" />
+      <keyword name="GenericMicroPythonDevice.canStartRepl" id="GenericMicroPythonDevice.canStartRepl" ref="eric6.MicroPython.GenericMicroPythonDevices.html#GenericMicroPythonDevice.canStartRepl" />
+      <keyword name="GenericMicroPythonDevice.deviceName" id="GenericMicroPythonDevice.deviceName" ref="eric6.MicroPython.GenericMicroPythonDevices.html#GenericMicroPythonDevice.deviceName" />
+      <keyword name="GenericMicroPythonDevice.getWorkspace" id="GenericMicroPythonDevice.getWorkspace" ref="eric6.MicroPython.GenericMicroPythonDevices.html#GenericMicroPythonDevice.getWorkspace" />
+      <keyword name="GenericMicroPythonDevice.runScript" id="GenericMicroPythonDevice.runScript" ref="eric6.MicroPython.GenericMicroPythonDevices.html#GenericMicroPythonDevice.runScript" />
+      <keyword name="GenericMicroPythonDevice.setButtons" id="GenericMicroPythonDevice.setButtons" ref="eric6.MicroPython.GenericMicroPythonDevices.html#GenericMicroPythonDevice.setButtons" />
+      <keyword name="GenericMicroPythonDevice.supportsLocalFileAccess" id="GenericMicroPythonDevice.supportsLocalFileAccess" ref="eric6.MicroPython.GenericMicroPythonDevices.html#GenericMicroPythonDevice.supportsLocalFileAccess" />
+      <keyword name="GenericMicroPythonDevices (Module)" id="GenericMicroPythonDevices (Module)" ref="eric6.MicroPython.GenericMicroPythonDevices.html" />
       <keyword name="GetSysPath (Module)" id="GetSysPath (Module)" ref="eric6.Utilities.GetSysPath.html" />
       <keyword name="Git" id="Git" ref="eric6.Plugins.VcsPlugins.vcsGit.git.html#Git" />
       <keyword name="Git (Constructor)" id="Git (Constructor)" ref="eric6.Plugins.VcsPlugins.vcsGit.git.html#Git.__init__" />
@@ -9875,6 +9898,7 @@
       <keyword name="MicroPythonWidget (Constructor)" id="MicroPythonWidget (Constructor)" ref="eric6.MicroPython.MicroPythonWidget.html#MicroPythonWidget.__init__" />
       <keyword name="MicroPythonWidget (Module)" id="MicroPythonWidget (Module)" ref="eric6.MicroPython.MicroPythonWidget.html" />
       <keyword name="MicroPythonWidget.__aboutToShowSuperMenu" id="MicroPythonWidget.__aboutToShowSuperMenu" ref="eric6.MicroPython.MicroPythonWidget.html#MicroPythonWidget.__aboutToShowSuperMenu" />
+      <keyword name="MicroPythonWidget.__addUnknownDevices" id="MicroPythonWidget.__addUnknownDevices" ref="eric6.MicroPython.MicroPythonWidget.html#MicroPythonWidget.__addUnknownDevices" />
       <keyword name="MicroPythonWidget.__clear" id="MicroPythonWidget.__clear" ref="eric6.MicroPython.MicroPythonWidget.html#MicroPythonWidget.__clear" />
       <keyword name="MicroPythonWidget.__compileEditor2Mpy" id="MicroPythonWidget.__compileEditor2Mpy" ref="eric6.MicroPython.MicroPythonWidget.html#MicroPythonWidget.__compileEditor2Mpy" />
       <keyword name="MicroPythonWidget.__compileFile2Mpy" id="MicroPythonWidget.__compileFile2Mpy" ref="eric6.MicroPython.MicroPythonWidget.html#MicroPythonWidget.__compileFile2Mpy" />
@@ -9888,6 +9912,7 @@
       <keyword name="MicroPythonWidget.__getDeviceTime" id="MicroPythonWidget.__getDeviceTime" ref="eric6.MicroPython.MicroPythonWidget.html#MicroPythonWidget.__getDeviceTime" />
       <keyword name="MicroPythonWidget.__handlePreferencesChanged" id="MicroPythonWidget.__handlePreferencesChanged" ref="eric6.MicroPython.MicroPythonWidget.html#MicroPythonWidget.__handlePreferencesChanged" />
       <keyword name="MicroPythonWidget.__manageIgnored" id="MicroPythonWidget.__manageIgnored" ref="eric6.MicroPython.MicroPythonWidget.html#MicroPythonWidget.__manageIgnored" />
+      <keyword name="MicroPythonWidget.__manageUnknownDevices" id="MicroPythonWidget.__manageUnknownDevices" ref="eric6.MicroPython.MicroPythonWidget.html#MicroPythonWidget.__manageUnknownDevices" />
       <keyword name="MicroPythonWidget.__mpyCrossAvailable" id="MicroPythonWidget.__mpyCrossAvailable" ref="eric6.MicroPython.MicroPythonWidget.html#MicroPythonWidget.__mpyCrossAvailable" />
       <keyword name="MicroPythonWidget.__paste" id="MicroPythonWidget.__paste" ref="eric6.MicroPython.MicroPythonWidget.html#MicroPythonWidget.__paste" />
       <keyword name="MicroPythonWidget.__populateDeviceTypeComboBox" id="MicroPythonWidget.__populateDeviceTypeComboBox" ref="eric6.MicroPython.MicroPythonWidget.html#MicroPythonWidget.__populateDeviceTypeComboBox" />
@@ -15371,6 +15396,23 @@
       <keyword name="UnittestWindow" id="UnittestWindow" ref="eric6.PyUnit.UnittestDialog.html#UnittestWindow" />
       <keyword name="UnittestWindow (Constructor)" id="UnittestWindow (Constructor)" ref="eric6.PyUnit.UnittestDialog.html#UnittestWindow.__init__" />
       <keyword name="UnittestWindow.eventFilter" id="UnittestWindow.eventFilter" ref="eric6.PyUnit.UnittestDialog.html#UnittestWindow.eventFilter" />
+      <keyword name="UnknownDevicesDialog" id="UnknownDevicesDialog" ref="eric6.MicroPython.UnknownDevicesDialog.html#UnknownDevicesDialog" />
+      <keyword name="UnknownDevicesDialog (Constructor)" id="UnknownDevicesDialog (Constructor)" ref="eric6.MicroPython.UnknownDevicesDialog.html#UnknownDevicesDialog.__init__" />
+      <keyword name="UnknownDevicesDialog (Module)" id="UnknownDevicesDialog (Module)" ref="eric6.MicroPython.UnknownDevicesDialog.html" />
+      <keyword name="UnknownDevicesDialog.__checkButtons" id="UnknownDevicesDialog.__checkButtons" ref="eric6.MicroPython.UnknownDevicesDialog.html#UnknownDevicesDialog.__checkButtons" />
+      <keyword name="UnknownDevicesDialog.__editItem" id="UnknownDevicesDialog.__editItem" ref="eric6.MicroPython.UnknownDevicesDialog.html#UnknownDevicesDialog.__editItem" />
+      <keyword name="UnknownDevicesDialog.__isDirty" id="UnknownDevicesDialog.__isDirty" ref="eric6.MicroPython.UnknownDevicesDialog.html#UnknownDevicesDialog.__isDirty" />
+      <keyword name="UnknownDevicesDialog.__loadDevices" id="UnknownDevicesDialog.__loadDevices" ref="eric6.MicroPython.UnknownDevicesDialog.html#UnknownDevicesDialog.__loadDevices" />
+      <keyword name="UnknownDevicesDialog.__saveDeviceData" id="UnknownDevicesDialog.__saveDeviceData" ref="eric6.MicroPython.UnknownDevicesDialog.html#UnknownDevicesDialog.__saveDeviceData" />
+      <keyword name="UnknownDevicesDialog.on_buttonBox_accepted" id="UnknownDevicesDialog.on_buttonBox_accepted" ref="eric6.MicroPython.UnknownDevicesDialog.html#UnknownDevicesDialog.on_buttonBox_accepted" />
+      <keyword name="UnknownDevicesDialog.on_buttonBox_rejected" id="UnknownDevicesDialog.on_buttonBox_rejected" ref="eric6.MicroPython.UnknownDevicesDialog.html#UnknownDevicesDialog.on_buttonBox_rejected" />
+      <keyword name="UnknownDevicesDialog.on_deleteAllButton_clicked" id="UnknownDevicesDialog.on_deleteAllButton_clicked" ref="eric6.MicroPython.UnknownDevicesDialog.html#UnknownDevicesDialog.on_deleteAllButton_clicked" />
+      <keyword name="UnknownDevicesDialog.on_deleteButton_clicked" id="UnknownDevicesDialog.on_deleteButton_clicked" ref="eric6.MicroPython.UnknownDevicesDialog.html#UnknownDevicesDialog.on_deleteButton_clicked" />
+      <keyword name="UnknownDevicesDialog.on_deviceList_itemActivated" id="UnknownDevicesDialog.on_deviceList_itemActivated" ref="eric6.MicroPython.UnknownDevicesDialog.html#UnknownDevicesDialog.on_deviceList_itemActivated" />
+      <keyword name="UnknownDevicesDialog.on_deviceList_itemSelectionChanged" id="UnknownDevicesDialog.on_deviceList_itemSelectionChanged" ref="eric6.MicroPython.UnknownDevicesDialog.html#UnknownDevicesDialog.on_deviceList_itemSelectionChanged" />
+      <keyword name="UnknownDevicesDialog.on_editButton_clicked" id="UnknownDevicesDialog.on_editButton_clicked" ref="eric6.MicroPython.UnknownDevicesDialog.html#UnknownDevicesDialog.on_editButton_clicked" />
+      <keyword name="UnknownDevicesDialog.on_reportButton_clicked" id="UnknownDevicesDialog.on_reportButton_clicked" ref="eric6.MicroPython.UnknownDevicesDialog.html#UnknownDevicesDialog.on_reportButton_clicked" />
+      <keyword name="UnknownDevicesDialog.on_restoreButton_clicked" id="UnknownDevicesDialog.on_restoreButton_clicked" ref="eric6.MicroPython.UnknownDevicesDialog.html#UnknownDevicesDialog.on_restoreButton_clicked" />
       <keyword name="UrlBar" id="UrlBar" ref="eric6.WebBrowser.UrlBar.UrlBar.html#UrlBar" />
       <keyword name="UrlBar (Constructor)" id="UrlBar (Constructor)" ref="eric6.WebBrowser.UrlBar.UrlBar.html#UrlBar.__init__" />
       <keyword name="UrlBar (Module)" id="UrlBar (Module)" ref="eric6.WebBrowser.UrlBar.UrlBar.html" />
@@ -18413,11 +18455,13 @@
       <file>eric6.IconEditor.IconEditorPalette.html</file>
       <file>eric6.IconEditor.IconEditorWindow.html</file>
       <file>eric6.IconEditor.IconSizeDialog.html</file>
+      <file>eric6.MicroPython.AddEditDevicesDialog.html</file>
       <file>eric6.MicroPython.CircuitPythonDevices.html</file>
       <file>eric6.MicroPython.CircuitPythonFirmwareSelectionDialog.html</file>
       <file>eric6.MicroPython.EspBackupRestoreFirmwareDialog.html</file>
       <file>eric6.MicroPython.EspDevices.html</file>
       <file>eric6.MicroPython.EspFirmwareSelectionDialog.html</file>
+      <file>eric6.MicroPython.GenericMicroPythonDevices.html</file>
       <file>eric6.MicroPython.IgnoredDevicesDialog.html</file>
       <file>eric6.MicroPython.MicroPythonCommandsInterface.html</file>
       <file>eric6.MicroPython.MicroPythonDevices.html</file>
@@ -18430,6 +18474,7 @@
       <file>eric6.MicroPython.MicroPythonWidget.html</file>
       <file>eric6.MicroPython.MicrobitDevices.html</file>
       <file>eric6.MicroPython.PyBoardDevices.html</file>
+      <file>eric6.MicroPython.UnknownDevicesDialog.html</file>
       <file>eric6.MultiProject.AddProjectDialog.html</file>
       <file>eric6.MultiProject.MultiProject.html</file>
       <file>eric6.MultiProject.MultiProjectBrowser.html</file>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eric6/Documentation/Source/eric6.MicroPython.AddEditDevicesDialog.html	Sat Feb 06 19:22:43 2021 +0100
@@ -0,0 +1,172 @@
+<!DOCTYPE html>
+<html><head>
+<title>eric6.MicroPython.AddEditDevicesDialog</title>
+<meta charset="UTF-8">
+<style>
+body {
+    background: #EDECE6;
+    margin: 0em 1em 10em 1em;
+    color: black;
+}
+
+h1 { color: white; background: #85774A; }
+h2 { color: white; background: #85774A; }
+h3 { color: white; background: #9D936E; }
+h4 { color: white; background: #9D936E; }
+    
+a { color: #BA6D36; }
+
+</style>
+</head>
+<body>
+<a NAME="top" ID="top"></a>
+<h1>eric6.MicroPython.AddEditDevicesDialog</h1>
+
+<p>
+Module implementing a dialog to add or edit data of unknown MicroPython
+devices.
+</p>
+<h3>Global Attributes</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Classes</h3>
+
+<table>
+
+<tr>
+<td><a href="#AddEditDevicesDialog">AddEditDevicesDialog</a></td>
+<td>Class implementing a dialog to add or edit data of unknown MicroPython devices.</td>
+</tr>
+</table>
+<h3>Functions</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<hr />
+<hr />
+<a NAME="AddEditDevicesDialog" ID="AddEditDevicesDialog"></a>
+<h2>AddEditDevicesDialog</h2>
+
+<p>
+    Class implementing a dialog to add or edit data of unknown MicroPython
+    devices.
+</p>
+<h3>Derived from</h3>
+QDialog, Ui_AddEditDevicesDialog
+<h3>Class Attributes</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Class Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Methods</h3>
+
+<table>
+
+<tr>
+<td><a href="#AddEditDevicesDialog.__init__">AddEditDevicesDialog</a></td>
+<td>Constructor</td>
+</tr>
+<tr>
+<td><a href="#AddEditDevicesDialog.getDeviceDict">getDeviceDict</a></td>
+<td>Public method to get the entered data as a dictionary.</td>
+</tr>
+<tr>
+<td><a href="#AddEditDevicesDialog.on_deviceTypeComboBox_currentIndexChanged">on_deviceTypeComboBox_currentIndexChanged</a></td>
+<td>Private slot to handle the selection of a device type.</td>
+</tr>
+<tr>
+<td><a href="#AddEditDevicesDialog.on_reportButton_clicked">on_reportButton_clicked</a></td>
+<td>Private slot to report the entered data to the eric-bugs email address.</td>
+</tr>
+</table>
+<h3>Static Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+
+<a NAME="AddEditDevicesDialog.__init__" ID="AddEditDevicesDialog.__init__"></a>
+<h4>AddEditDevicesDialog (Constructor)</h4>
+<b>AddEditDevicesDialog</b>(<i>vid=0, pid=0, description=0, deviceData=None, parent=None</i>)
+
+<p>
+        Constructor
+</p>
+<p>
+        Note: Either vid and pid and description or deviceData dictionary
+        must be given.
+</p>
+<dl>
+
+<dt><i>vid</i> (int (optional))</dt>
+<dd>
+vendor ID of the device (defaults to 0)
+</dd>
+<dt><i>pid</i> (int (optional))</dt>
+<dd>
+product ID of the device (defaults to 0)
+</dd>
+<dt><i>description</i> (str (optional))</dt>
+<dd>
+description for the device (defaults to "")
+</dd>
+<dt><i>deviceData</i> (dict (optional))</dt>
+<dd>
+type of the device (defaults to None)
+</dd>
+<dt><i>parent</i> (QWidget (optional))</dt>
+<dd>
+reference to the parent widget (defaults to None)
+</dd>
+</dl>
+<a NAME="AddEditDevicesDialog.getDeviceDict" ID="AddEditDevicesDialog.getDeviceDict"></a>
+<h4>AddEditDevicesDialog.getDeviceDict</h4>
+<b>getDeviceDict</b>(<i></i>)
+
+<p>
+        Public method to get the entered data as a dictionary.
+</p>
+<dl>
+<dt>Return:</dt>
+<dd>
+dictionary containing the entered data
+</dd>
+</dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+dict
+</dd>
+</dl>
+<a NAME="AddEditDevicesDialog.on_deviceTypeComboBox_currentIndexChanged" ID="AddEditDevicesDialog.on_deviceTypeComboBox_currentIndexChanged"></a>
+<h4>AddEditDevicesDialog.on_deviceTypeComboBox_currentIndexChanged</h4>
+<b>on_deviceTypeComboBox_currentIndexChanged</b>(<i>index</i>)
+
+<p>
+        Private slot to handle the selection of a device type.
+</p>
+<dl>
+
+<dt><i>index</i> (int)</dt>
+<dd>
+index of the current item
+</dd>
+</dl>
+<a NAME="AddEditDevicesDialog.on_reportButton_clicked" ID="AddEditDevicesDialog.on_reportButton_clicked"></a>
+<h4>AddEditDevicesDialog.on_reportButton_clicked</h4>
+<b>on_reportButton_clicked</b>(<i></i>)
+
+<p>
+        Private slot to report the entered data to the eric-bugs email address.
+</p>
+<div align="right"><a href="#top">Up</a></div>
+<hr />
+</body></html>
\ No newline at end of file
--- a/eric6/Documentation/Source/eric6.MicroPython.CircuitPythonFirmwareSelectionDialog.html	Sat Feb 06 19:22:22 2021 +0100
+++ b/eric6/Documentation/Source/eric6.MicroPython.CircuitPythonFirmwareSelectionDialog.html	Sat Feb 06 19:22:43 2021 +0100
@@ -57,7 +57,7 @@
 <h3>Class Attributes</h3>
 
 <table>
-<tr><td>None</td></tr>
+<tr><td>Boards</td></tr>
 </table>
 <h3>Class Methods</h3>
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eric6/Documentation/Source/eric6.MicroPython.GenericMicroPythonDevices.html	Sat Feb 06 19:22:43 2021 +0100
@@ -0,0 +1,365 @@
+<!DOCTYPE html>
+<html><head>
+<title>eric6.MicroPython.GenericMicroPythonDevices</title>
+<meta charset="UTF-8">
+<style>
+body {
+    background: #EDECE6;
+    margin: 0em 1em 10em 1em;
+    color: black;
+}
+
+h1 { color: white; background: #85774A; }
+h2 { color: white; background: #85774A; }
+h3 { color: white; background: #9D936E; }
+h4 { color: white; background: #9D936E; }
+    
+a { color: #BA6D36; }
+
+</style>
+</head>
+<body>
+<a NAME="top" ID="top"></a>
+<h1>eric6.MicroPython.GenericMicroPythonDevices</h1>
+
+<p>
+Module implementing the device interface class for generic MicroPython devices
+(i.e. those devices not specifically supported yet).
+</p>
+<h3>Global Attributes</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Classes</h3>
+
+<table>
+
+<tr>
+<td><a href="#GenericMicroPythonDevice">GenericMicroPythonDevice</a></td>
+<td>Class implementing the device interface for generic MicroPython boards.</td>
+</tr>
+</table>
+<h3>Functions</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<hr />
+<hr />
+<a NAME="GenericMicroPythonDevice" ID="GenericMicroPythonDevice"></a>
+<h2>GenericMicroPythonDevice</h2>
+
+<p>
+    Class implementing the device interface for generic MicroPython boards.
+</p>
+<h3>Derived from</h3>
+MicroPythonDevice
+<h3>Class Attributes</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Class Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Methods</h3>
+
+<table>
+
+<tr>
+<td><a href="#GenericMicroPythonDevice.__init__">GenericMicroPythonDevice</a></td>
+<td>Constructor</td>
+</tr>
+<tr>
+<td><a href="#GenericMicroPythonDevice.__deviceVolumeMounted">__deviceVolumeMounted</a></td>
+<td>Private method to check, if the device volume is mounted.</td>
+</tr>
+<tr>
+<td><a href="#GenericMicroPythonDevice.__findWorkspace">__findWorkspace</a></td>
+<td>Private method to find the workspace directory.</td>
+</tr>
+<tr>
+<td><a href="#GenericMicroPythonDevice.canRunScript">canRunScript</a></td>
+<td>Public method to determine, if a script can be executed.</td>
+</tr>
+<tr>
+<td><a href="#GenericMicroPythonDevice.canStartFileManager">canStartFileManager</a></td>
+<td>Public method to determine, if a File Manager can be started.</td>
+</tr>
+<tr>
+<td><a href="#GenericMicroPythonDevice.canStartPlotter">canStartPlotter</a></td>
+<td>Public method to determine, if a Plotter can be started.</td>
+</tr>
+<tr>
+<td><a href="#GenericMicroPythonDevice.canStartRepl">canStartRepl</a></td>
+<td>Public method to determine, if a REPL can be started.</td>
+</tr>
+<tr>
+<td><a href="#GenericMicroPythonDevice.deviceName">deviceName</a></td>
+<td>Public method to get the name of the device.</td>
+</tr>
+<tr>
+<td><a href="#GenericMicroPythonDevice.getWorkspace">getWorkspace</a></td>
+<td>Public method to get the workspace directory.</td>
+</tr>
+<tr>
+<td><a href="#GenericMicroPythonDevice.runScript">runScript</a></td>
+<td>Public method to run the given Python script.</td>
+</tr>
+<tr>
+<td><a href="#GenericMicroPythonDevice.setButtons">setButtons</a></td>
+<td>Public method to enable the supported action buttons.</td>
+</tr>
+<tr>
+<td><a href="#GenericMicroPythonDevice.supportsLocalFileAccess">supportsLocalFileAccess</a></td>
+<td>Public method to indicate file access via a local directory.</td>
+</tr>
+</table>
+<h3>Static Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+
+<a NAME="GenericMicroPythonDevice.__init__" ID="GenericMicroPythonDevice.__init__"></a>
+<h4>GenericMicroPythonDevice (Constructor)</h4>
+<b>GenericMicroPythonDevice</b>(<i>microPythonWidget, vid, pid, parent=None</i>)
+
+<p>
+        Constructor
+</p>
+<dl>
+
+<dt><i>microPythonWidget</i> (MicroPythonWidget)</dt>
+<dd>
+reference to the main MicroPython widget
+</dd>
+<dt><i>vid</i> (int)</dt>
+<dd>
+vendor ID
+</dd>
+<dt><i>pid</i> (int)</dt>
+<dd>
+product ID
+</dd>
+<dt><i>parent</i> (QObject)</dt>
+<dd>
+reference to the parent object
+</dd>
+</dl>
+<a NAME="GenericMicroPythonDevice.__deviceVolumeMounted" ID="GenericMicroPythonDevice.__deviceVolumeMounted"></a>
+<h4>GenericMicroPythonDevice.__deviceVolumeMounted</h4>
+<b>__deviceVolumeMounted</b>(<i></i>)
+
+<p>
+        Private method to check, if the device volume is mounted.
+</p>
+<dl>
+<dt>Return:</dt>
+<dd>
+flag indicated a mounted device
+</dd>
+</dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+bool
+</dd>
+</dl>
+<a NAME="GenericMicroPythonDevice.__findWorkspace" ID="GenericMicroPythonDevice.__findWorkspace"></a>
+<h4>GenericMicroPythonDevice.__findWorkspace</h4>
+<b>__findWorkspace</b>(<i>silent=False</i>)
+
+<p>
+        Private method to find the workspace directory.
+</p>
+<dl>
+
+<dt><i>silent</i> (bool)</dt>
+<dd>
+flag indicating silent operations
+</dd>
+</dl>
+<dl>
+<dt>Return:</dt>
+<dd>
+workspace directory used for saving files
+</dd>
+</dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+str
+</dd>
+</dl>
+<a NAME="GenericMicroPythonDevice.canRunScript" ID="GenericMicroPythonDevice.canRunScript"></a>
+<h4>GenericMicroPythonDevice.canRunScript</h4>
+<b>canRunScript</b>(<i></i>)
+
+<p>
+        Public method to determine, if a script can be executed.
+</p>
+<dl>
+<dt>Return:</dt>
+<dd>
+tuple containing a flag indicating it is safe to start a
+            Plotter and a reason why it cannot.
+</dd>
+</dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+tuple of (bool, str)
+</dd>
+</dl>
+<a NAME="GenericMicroPythonDevice.canStartFileManager" ID="GenericMicroPythonDevice.canStartFileManager"></a>
+<h4>GenericMicroPythonDevice.canStartFileManager</h4>
+<b>canStartFileManager</b>(<i></i>)
+
+<p>
+        Public method to determine, if a File Manager can be started.
+</p>
+<dl>
+<dt>Return:</dt>
+<dd>
+tuple containing a flag indicating it is safe to start a
+            File Manager and a reason why it cannot.
+</dd>
+</dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+tuple of (bool, str)
+</dd>
+</dl>
+<a NAME="GenericMicroPythonDevice.canStartPlotter" ID="GenericMicroPythonDevice.canStartPlotter"></a>
+<h4>GenericMicroPythonDevice.canStartPlotter</h4>
+<b>canStartPlotter</b>(<i></i>)
+
+<p>
+        Public method to determine, if a Plotter can be started.
+</p>
+<dl>
+<dt>Return:</dt>
+<dd>
+tuple containing a flag indicating it is safe to start a
+            Plotter and a reason why it cannot.
+</dd>
+</dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+tuple of (bool, str)
+</dd>
+</dl>
+<a NAME="GenericMicroPythonDevice.canStartRepl" ID="GenericMicroPythonDevice.canStartRepl"></a>
+<h4>GenericMicroPythonDevice.canStartRepl</h4>
+<b>canStartRepl</b>(<i></i>)
+
+<p>
+        Public method to determine, if a REPL can be started.
+</p>
+<dl>
+<dt>Return:</dt>
+<dd>
+tuple containing a flag indicating it is safe to start a REPL
+            and a reason why it cannot.
+</dd>
+</dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+tuple of (bool, str)
+</dd>
+</dl>
+<a NAME="GenericMicroPythonDevice.deviceName" ID="GenericMicroPythonDevice.deviceName"></a>
+<h4>GenericMicroPythonDevice.deviceName</h4>
+<b>deviceName</b>(<i></i>)
+
+<p>
+        Public method to get the name of the device.
+</p>
+<dl>
+<dt>Return:</dt>
+<dd>
+name of the device
+</dd>
+</dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+str
+</dd>
+</dl>
+<a NAME="GenericMicroPythonDevice.getWorkspace" ID="GenericMicroPythonDevice.getWorkspace"></a>
+<h4>GenericMicroPythonDevice.getWorkspace</h4>
+<b>getWorkspace</b>(<i>silent=False</i>)
+
+<p>
+        Public method to get the workspace directory.
+</p>
+<dl>
+
+<dt><i>silent</i> (bool)</dt>
+<dd>
+flag indicating silent operations
+</dd>
+</dl>
+<dl>
+<dt>Return:</dt>
+<dd>
+workspace directory used for saving files
+</dd>
+</dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+str
+</dd>
+</dl>
+<a NAME="GenericMicroPythonDevice.runScript" ID="GenericMicroPythonDevice.runScript"></a>
+<h4>GenericMicroPythonDevice.runScript</h4>
+<b>runScript</b>(<i>script</i>)
+
+<p>
+        Public method to run the given Python script.
+</p>
+<dl>
+
+<dt><i>script</i> (str)</dt>
+<dd>
+script to be executed
+</dd>
+</dl>
+<a NAME="GenericMicroPythonDevice.setButtons" ID="GenericMicroPythonDevice.setButtons"></a>
+<h4>GenericMicroPythonDevice.setButtons</h4>
+<b>setButtons</b>(<i></i>)
+
+<p>
+        Public method to enable the supported action buttons.
+</p>
+<a NAME="GenericMicroPythonDevice.supportsLocalFileAccess" ID="GenericMicroPythonDevice.supportsLocalFileAccess"></a>
+<h4>GenericMicroPythonDevice.supportsLocalFileAccess</h4>
+<b>supportsLocalFileAccess</b>(<i></i>)
+
+<p>
+        Public method to indicate file access via a local directory.
+</p>
+<dl>
+<dt>Return:</dt>
+<dd>
+flag indicating file access via local directory
+</dd>
+</dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+bool
+</dd>
+</dl>
+<div align="right"><a href="#top">Up</a></div>
+<hr />
+</body></html>
\ No newline at end of file
--- a/eric6/Documentation/Source/eric6.MicroPython.MicroPythonDevices.html	Sat Feb 06 19:22:22 2021 +0100
+++ b/eric6/Documentation/Source/eric6.MicroPython.MicroPythonDevices.html	Sat Feb 06 19:22:43 2021 +0100
@@ -624,7 +624,7 @@
 <hr />
 <a NAME="getDevice" ID="getDevice"></a>
 <h2>getDevice</h2>
-<b>getDevice</b>(<i>deviceType, microPythonWidget</i>)
+<b>getDevice</b>(<i>deviceType, microPythonWidget, vid, pid</i>)
 
 <p>
     Public method to instantiate a specific MicroPython device interface.
@@ -639,6 +639,14 @@
 <dd>
 reference to the main MicroPython widget
 </dd>
+<dt><i>vid</i> (int)</dt>
+<dd>
+vendor ID (only used for deviceType 'generic')
+</dd>
+<dt><i>pid</i> (int)</dt>
+<dd>
+product ID (only used for deviceType 'generic')
+</dd>
 </dl>
 <dl>
 <dt>Return:</dt>
--- a/eric6/Documentation/Source/eric6.MicroPython.MicroPythonWidget.html	Sat Feb 06 19:22:22 2021 +0100
+++ b/eric6/Documentation/Source/eric6.MicroPython.MicroPythonWidget.html	Sat Feb 06 19:22:43 2021 +0100
@@ -66,7 +66,7 @@
 <h3>Class Attributes</h3>
 
 <table>
-<tr><td>DeviceBoardRole</td></tr><tr><td>DevicePortRole</td></tr><tr><td>DeviceTypeRole</td></tr><tr><td>ZoomMax</td></tr><tr><td>ZoomMin</td></tr>
+<tr><td>DeviceBoardRole</td></tr><tr><td>DevicePidRole</td></tr><tr><td>DevicePortRole</td></tr><tr><td>DeviceTypeRole</td></tr><tr><td>DeviceVidRole</td></tr><tr><td>ZoomMax</td></tr><tr><td>ZoomMin</td></tr>
 </table>
 <h3>Class Methods</h3>
 
@@ -86,6 +86,10 @@
 <td>Private slot to populate the Super Menu before showing it.</td>
 </tr>
 <tr>
+<td><a href="#MicroPythonWidget.__addUnknownDevices">__addUnknownDevices</a></td>
+<td>Private method to add devices to the list of manually added boards.</td>
+</tr>
+<tr>
 <td><a href="#MicroPythonWidget.__clear">__clear</a></td>
 <td>Private slot to clear the REPL pane.</td>
 </tr>
@@ -138,6 +142,10 @@
 <td>Private slot to manage the list of ignored serial devices.</td>
 </tr>
 <tr>
+<td><a href="#MicroPythonWidget.__manageUnknownDevices">__manageUnknownDevices</a></td>
+<td>Private slot to manage manually added boards (i.e.</td>
+</tr>
+<tr>
 <td><a href="#MicroPythonWidget.__mpyCrossAvailable">__mpyCrossAvailable</a></td>
 <td>Private method to check the availability of mpy-cross.</td>
 </tr>
@@ -301,6 +309,20 @@
 <p>
         Private slot to populate the Super Menu before showing it.
 </p>
+<a NAME="MicroPythonWidget.__addUnknownDevices" ID="MicroPythonWidget.__addUnknownDevices"></a>
+<h4>MicroPythonWidget.__addUnknownDevices</h4>
+<b>__addUnknownDevices</b>(<i>devices</i>)
+
+<p>
+        Private method to add devices to the list of manually added boards.
+</p>
+<dl>
+
+<dt><i>devices</i> (list of tuple of (int, int, str))</dt>
+<dd>
+list of not ignored but unknown devices
+</dd>
+</dl>
 <a NAME="MicroPythonWidget.__clear" ID="MicroPythonWidget.__clear"></a>
 <h4>MicroPythonWidget.__clear</h4>
 <b>__clear</b>(<i></i>)
@@ -430,6 +452,14 @@
 <p>
         Private slot to manage the list of ignored serial devices.
 </p>
+<a NAME="MicroPythonWidget.__manageUnknownDevices" ID="MicroPythonWidget.__manageUnknownDevices"></a>
+<h4>MicroPythonWidget.__manageUnknownDevices</h4>
+<b>__manageUnknownDevices</b>(<i></i>)
+
+<p>
+        Private slot to manage manually added boards (i.e. those not in the
+        list of supported boards).
+</p>
 <a NAME="MicroPythonWidget.__mpyCrossAvailable" ID="MicroPythonWidget.__mpyCrossAvailable"></a>
 <h4>MicroPythonWidget.__mpyCrossAvailable</h4>
 <b>__mpyCrossAvailable</b>(<i></i>)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eric6/Documentation/Source/eric6.MicroPython.UnknownDevicesDialog.html	Sat Feb 06 19:22:43 2021 +0100
@@ -0,0 +1,282 @@
+<!DOCTYPE html>
+<html><head>
+<title>eric6.MicroPython.UnknownDevicesDialog</title>
+<meta charset="UTF-8">
+<style>
+body {
+    background: #EDECE6;
+    margin: 0em 1em 10em 1em;
+    color: black;
+}
+
+h1 { color: white; background: #85774A; }
+h2 { color: white; background: #85774A; }
+h3 { color: white; background: #9D936E; }
+h4 { color: white; background: #9D936E; }
+    
+a { color: #BA6D36; }
+
+</style>
+</head>
+<body>
+<a NAME="top" ID="top"></a>
+<h1>eric6.MicroPython.UnknownDevicesDialog</h1>
+
+<p>
+Module implementing a dialog to manage the list of unknown devices.
+</p>
+<h3>Global Attributes</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Classes</h3>
+
+<table>
+
+<tr>
+<td><a href="#UnknownDevicesDialog">UnknownDevicesDialog</a></td>
+<td>Class implementing a dialog to manage the list of unknown devices.</td>
+</tr>
+</table>
+<h3>Functions</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<hr />
+<hr />
+<a NAME="UnknownDevicesDialog" ID="UnknownDevicesDialog"></a>
+<h2>UnknownDevicesDialog</h2>
+
+<p>
+    Class implementing a dialog to manage the list of unknown devices.
+</p>
+<h3>Derived from</h3>
+QDialog, Ui_UnknownDevicesDialog
+<h3>Class Attributes</h3>
+
+<table>
+<tr><td>DeviceDataRole</td></tr><tr><td>ModifiedRole</td></tr>
+</table>
+<h3>Class Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Methods</h3>
+
+<table>
+
+<tr>
+<td><a href="#UnknownDevicesDialog.__init__">UnknownDevicesDialog</a></td>
+<td>Constructor</td>
+</tr>
+<tr>
+<td><a href="#UnknownDevicesDialog.__checkButtons">__checkButtons</a></td>
+<td>Private slot to set the enabled state of the buttons.</td>
+</tr>
+<tr>
+<td><a href="#UnknownDevicesDialog.__editItem">__editItem</a></td>
+<td>Private method to edit the given item.</td>
+</tr>
+<tr>
+<td><a href="#UnknownDevicesDialog.__isDirty">__isDirty</a></td>
+<td>Private method to check, if the dialog contains unsaved data.</td>
+</tr>
+<tr>
+<td><a href="#UnknownDevicesDialog.__loadDevices">__loadDevices</a></td>
+<td>Private method to load the list of unknown devices.</td>
+</tr>
+<tr>
+<td><a href="#UnknownDevicesDialog.__saveDeviceData">__saveDeviceData</a></td>
+<td>Private method to save the device data.</td>
+</tr>
+<tr>
+<td><a href="#UnknownDevicesDialog.on_buttonBox_accepted">on_buttonBox_accepted</a></td>
+<td>Private slot to handle the OK button press.</td>
+</tr>
+<tr>
+<td><a href="#UnknownDevicesDialog.on_buttonBox_rejected">on_buttonBox_rejected</a></td>
+<td>Private slot handling the cancellation of the dialog.</td>
+</tr>
+<tr>
+<td><a href="#UnknownDevicesDialog.on_deleteAllButton_clicked">on_deleteAllButton_clicked</a></td>
+<td>Private slot to delete all devices.</td>
+</tr>
+<tr>
+<td><a href="#UnknownDevicesDialog.on_deleteButton_clicked">on_deleteButton_clicked</a></td>
+<td>Private slot to delete the selected entries.</td>
+</tr>
+<tr>
+<td><a href="#UnknownDevicesDialog.on_deviceList_itemActivated">on_deviceList_itemActivated</a></td>
+<td>Private slot to edit the data of the activated item.</td>
+</tr>
+<tr>
+<td><a href="#UnknownDevicesDialog.on_deviceList_itemSelectionChanged">on_deviceList_itemSelectionChanged</a></td>
+<td>Private slot to handle a change of selected items.</td>
+</tr>
+<tr>
+<td><a href="#UnknownDevicesDialog.on_editButton_clicked">on_editButton_clicked</a></td>
+<td>Private slot to edit the selected item.</td>
+</tr>
+<tr>
+<td><a href="#UnknownDevicesDialog.on_reportButton_clicked">on_reportButton_clicked</a></td>
+<td>Private slot to report the data of all boards to the eric-bugs email address.</td>
+</tr>
+<tr>
+<td><a href="#UnknownDevicesDialog.on_restoreButton_clicked">on_restoreButton_clicked</a></td>
+<td>Private slot to restore the list of unknown devices.</td>
+</tr>
+</table>
+<h3>Static Methods</h3>
+
+<table>
+<tr><td>None</td></tr>
+</table>
+
+<a NAME="UnknownDevicesDialog.__init__" ID="UnknownDevicesDialog.__init__"></a>
+<h4>UnknownDevicesDialog (Constructor)</h4>
+<b>UnknownDevicesDialog</b>(<i>parent=None</i>)
+
+<p>
+        Constructor
+</p>
+<dl>
+
+<dt><i>parent</i> (QWidget (optional))</dt>
+<dd>
+reference to the parent widget (defaults to None)
+</dd>
+</dl>
+<a NAME="UnknownDevicesDialog.__checkButtons" ID="UnknownDevicesDialog.__checkButtons"></a>
+<h4>UnknownDevicesDialog.__checkButtons</h4>
+<b>__checkButtons</b>(<i></i>)
+
+<p>
+        Private slot to set the enabled state of the buttons.
+</p>
+<a NAME="UnknownDevicesDialog.__editItem" ID="UnknownDevicesDialog.__editItem"></a>
+<h4>UnknownDevicesDialog.__editItem</h4>
+<b>__editItem</b>(<i>item</i>)
+
+<p>
+        Private method to edit the given item.
+</p>
+<dl>
+
+<dt><i>item</i> (QListWidgetItem)</dt>
+<dd>
+reference to the item to be edited
+</dd>
+</dl>
+<a NAME="UnknownDevicesDialog.__isDirty" ID="UnknownDevicesDialog.__isDirty"></a>
+<h4>UnknownDevicesDialog.__isDirty</h4>
+<b>__isDirty</b>(<i></i>)
+
+<p>
+        Private method to check, if the dialog contains unsaved data.
+</p>
+<dl>
+<dt>Return:</dt>
+<dd>
+flag indicating the presence of unsaved data
+</dd>
+</dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+bool
+</dd>
+</dl>
+<a NAME="UnknownDevicesDialog.__loadDevices" ID="UnknownDevicesDialog.__loadDevices"></a>
+<h4>UnknownDevicesDialog.__loadDevices</h4>
+<b>__loadDevices</b>(<i></i>)
+
+<p>
+        Private method to load the list of unknown devices.
+</p>
+<a NAME="UnknownDevicesDialog.__saveDeviceData" ID="UnknownDevicesDialog.__saveDeviceData"></a>
+<h4>UnknownDevicesDialog.__saveDeviceData</h4>
+<b>__saveDeviceData</b>(<i></i>)
+
+<p>
+        Private method to save the device data.
+</p>
+<a NAME="UnknownDevicesDialog.on_buttonBox_accepted" ID="UnknownDevicesDialog.on_buttonBox_accepted"></a>
+<h4>UnknownDevicesDialog.on_buttonBox_accepted</h4>
+<b>on_buttonBox_accepted</b>(<i></i>)
+
+<p>
+        Private slot to handle the OK button press.
+</p>
+<p>
+        This action saves the edited list to the preferences store.
+</p>
+<a NAME="UnknownDevicesDialog.on_buttonBox_rejected" ID="UnknownDevicesDialog.on_buttonBox_rejected"></a>
+<h4>UnknownDevicesDialog.on_buttonBox_rejected</h4>
+<b>on_buttonBox_rejected</b>(<i></i>)
+
+<p>
+        Private slot handling the cancellation of the dialog.
+</p>
+<a NAME="UnknownDevicesDialog.on_deleteAllButton_clicked" ID="UnknownDevicesDialog.on_deleteAllButton_clicked"></a>
+<h4>UnknownDevicesDialog.on_deleteAllButton_clicked</h4>
+<b>on_deleteAllButton_clicked</b>(<i></i>)
+
+<p>
+        Private slot to delete all devices.
+</p>
+<a NAME="UnknownDevicesDialog.on_deleteButton_clicked" ID="UnknownDevicesDialog.on_deleteButton_clicked"></a>
+<h4>UnknownDevicesDialog.on_deleteButton_clicked</h4>
+<b>on_deleteButton_clicked</b>(<i></i>)
+
+<p>
+        Private slot to delete the selected entries.
+</p>
+<a NAME="UnknownDevicesDialog.on_deviceList_itemActivated" ID="UnknownDevicesDialog.on_deviceList_itemActivated"></a>
+<h4>UnknownDevicesDialog.on_deviceList_itemActivated</h4>
+<b>on_deviceList_itemActivated</b>(<i>item</i>)
+
+<p>
+        Private slot to edit the data of the activated item.
+</p>
+<dl>
+
+<dt><i>item</i> (QListWidgetItem)</dt>
+<dd>
+reference to the activated item
+</dd>
+</dl>
+<a NAME="UnknownDevicesDialog.on_deviceList_itemSelectionChanged" ID="UnknownDevicesDialog.on_deviceList_itemSelectionChanged"></a>
+<h4>UnknownDevicesDialog.on_deviceList_itemSelectionChanged</h4>
+<b>on_deviceList_itemSelectionChanged</b>(<i></i>)
+
+<p>
+        Private slot to handle a change of selected items.
+</p>
+<a NAME="UnknownDevicesDialog.on_editButton_clicked" ID="UnknownDevicesDialog.on_editButton_clicked"></a>
+<h4>UnknownDevicesDialog.on_editButton_clicked</h4>
+<b>on_editButton_clicked</b>(<i></i>)
+
+<p>
+        Private slot to edit the selected item.
+</p>
+<a NAME="UnknownDevicesDialog.on_reportButton_clicked" ID="UnknownDevicesDialog.on_reportButton_clicked"></a>
+<h4>UnknownDevicesDialog.on_reportButton_clicked</h4>
+<b>on_reportButton_clicked</b>(<i></i>)
+
+<p>
+        Private slot to report the data of all boards to the eric-bugs email
+        address.
+</p>
+<a NAME="UnknownDevicesDialog.on_restoreButton_clicked" ID="UnknownDevicesDialog.on_restoreButton_clicked"></a>
+<h4>UnknownDevicesDialog.on_restoreButton_clicked</h4>
+<b>on_restoreButton_clicked</b>(<i></i>)
+
+<p>
+        Private slot to restore the list of unknown devices.
+</p>
+<div align="right"><a href="#top">Up</a></div>
+<hr />
+</body></html>
\ No newline at end of file
--- a/eric6/Documentation/Source/index-eric6.MicroPython.html	Sat Feb 06 19:22:22 2021 +0100
+++ b/eric6/Documentation/Source/index-eric6.MicroPython.html	Sat Feb 06 19:22:43 2021 +0100
@@ -30,6 +30,10 @@
 <table>
 
 <tr>
+<td><a href="eric6.MicroPython.AddEditDevicesDialog.html">AddEditDevicesDialog</a></td>
+<td>Module implementing a dialog to add or edit data of unknown MicroPython devices.</td>
+</tr>
+<tr>
 <td><a href="eric6.MicroPython.CircuitPythonDevices.html">CircuitPythonDevices</a></td>
 <td>Module implementing the device interface class for CircuitPython boards.</td>
 </tr>
@@ -50,6 +54,10 @@
 <td>Module implementing a dialog to select the ESP chip type and the firmware to be flashed.</td>
 </tr>
 <tr>
+<td><a href="eric6.MicroPython.GenericMicroPythonDevices.html">GenericMicroPythonDevices</a></td>
+<td>Module implementing the device interface class for generic MicroPython devices (i.e.</td>
+</tr>
+<tr>
 <td><a href="eric6.MicroPython.IgnoredDevicesDialog.html">IgnoredDevicesDialog</a></td>
 <td>Module implementing a dialog to manage the list of ignored serial devices.</td>
 </tr>
@@ -97,5 +105,9 @@
 <td><a href="eric6.MicroPython.PyBoardDevices.html">PyBoardDevices</a></td>
 <td>Module implementing the device interface class for PyBoard boards.</td>
 </tr>
+<tr>
+<td><a href="eric6.MicroPython.UnknownDevicesDialog.html">UnknownDevicesDialog</a></td>
+<td>Module implementing a dialog to manage the list of unknown devices.</td>
+</tr>
 </table>
 </body></html>
\ No newline at end of file

eric ide

mercurial