diff -r 1a09700229e7 -r 9854647c8c5c src/eric7/Documentation/Source/eric7.MicroPython.Devices.DeviceBase.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/eric7/Documentation/Source/eric7.MicroPython.Devices.DeviceBase.html Mon Feb 13 17:49:52 2023 +0100 @@ -0,0 +1,713 @@ +<!DOCTYPE html> +<html><head> +<title>eric7.MicroPython.Devices.DeviceBase</title> +<meta charset="UTF-8"> +<link rel="stylesheet" href="styles.css"> +</head> +<body> +<a NAME="top" ID="top"></a> +<h1>eric7.MicroPython.Devices.DeviceBase</h1> + +<p> +Module implementing some utility functions and the MicroPythonDevice base +class. +</p> +<h3>Global Attributes</h3> + +<table> +<tr><td>None</td></tr> +</table> +<h3>Classes</h3> + +<table> + +<tr> +<td><a href="#BaseDevice">BaseDevice</a></td> +<td>Base class for the more specific MicroPython devices.</td> +</tr> +</table> +<h3>Functions</h3> + +<table> +<tr><td>None</td></tr> +</table> +<hr /> +<hr /> +<a NAME="BaseDevice" ID="BaseDevice"></a> +<h2>BaseDevice</h2> + +<p> + Base class for the more specific MicroPython devices. +</p> +<h3>Derived from</h3> +QObject +<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="#BaseDevice.__init__">BaseDevice</a></td> +<td>Constructor</td> +</tr> +<tr> +<td><a href="#BaseDevice.addDeviceMenuEntries">addDeviceMenuEntries</a></td> +<td>Public method to add device specific entries to the given menu.</td> +</tr> +<tr> +<td><a href="#BaseDevice.canRunScript">canRunScript</a></td> +<td>Public method to determine, if a script can be executed.</td> +</tr> +<tr> +<td><a href="#BaseDevice.canStartFileManager">canStartFileManager</a></td> +<td>Public method to determine, if a File Manager can be started.</td> +</tr> +<tr> +<td><a href="#BaseDevice.canStartPlotter">canStartPlotter</a></td> +<td>Public method to determine, if a Plotter can be started.</td> +</tr> +<tr> +<td><a href="#BaseDevice.canStartRepl">canStartRepl</a></td> +<td>Public method to determine, if a REPL can be started.</td> +</tr> +<tr> +<td><a href="#BaseDevice.checkDeviceData">checkDeviceData</a></td> +<td>Public method to check the validity of the device data determined during connecting the device.</td> +</tr> +<tr> +<td><a href="#BaseDevice.deviceName">deviceName</a></td> +<td>Public method to get the name of the device.</td> +</tr> +<tr> +<td><a href="#BaseDevice.downloadFirmware">downloadFirmware</a></td> +<td>Public method to download the device firmware.</td> +</tr> +<tr> +<td><a href="#BaseDevice.forceInterrupt">forceInterrupt</a></td> +<td>Public method to determine the need for an interrupt when opening the serial connection.</td> +</tr> +<tr> +<td><a href="#BaseDevice.getDeviceData">getDeviceData</a></td> +<td>Public method to get a copy of the determined device data.</td> +</tr> +<tr> +<td><a href="#BaseDevice.getDeviceType">getDeviceType</a></td> +<td>Public method to get the device type.</td> +</tr> +<tr> +<td><a href="#BaseDevice.getDocumentationUrl">getDocumentationUrl</a></td> +<td>Public method to get the device documentation URL.</td> +</tr> +<tr> +<td><a href="#BaseDevice.getDownloadMenuEntries">getDownloadMenuEntries</a></td> +<td>Public method to retrieve the entries for the downloads menu.</td> +</tr> +<tr> +<td><a href="#BaseDevice.getFirmwareUrl">getFirmwareUrl</a></td> +<td>Public method to get the device firmware download URL.</td> +</tr> +<tr> +<td><a href="#BaseDevice.getWorkspace">getWorkspace</a></td> +<td>Public method to get the workspace directory.</td> +</tr> +<tr> +<td><a href="#BaseDevice.handleDataFlood">handleDataFlood</a></td> +<td>Public slot handling a data floof from the device.</td> +</tr> +<tr> +<td><a href="#BaseDevice.hasDocumentationUrl">hasDocumentationUrl</a></td> +<td>Public method to check, if the device has a configured documentation URL.</td> +</tr> +<tr> +<td><a href="#BaseDevice.hasFirmwareUrl">hasFirmwareUrl</a></td> +<td>Public method to check, if the device has a configured firmware download URL.</td> +</tr> +<tr> +<td><a href="#BaseDevice.hasFlashMenuEntry">hasFlashMenuEntry</a></td> +<td>Public method to check, if the device has its own flash menu entry.</td> +</tr> +<tr> +<td><a href="#BaseDevice.hasTimeCommands">hasTimeCommands</a></td> +<td>Public method to check, if the device supports time commands.</td> +</tr> +<tr> +<td><a href="#BaseDevice.runScript">runScript</a></td> +<td>Public method to run the given Python script.</td> +</tr> +<tr> +<td><a href="#BaseDevice.selectDeviceDirectory">selectDeviceDirectory</a></td> +<td>Public method to select the device directory from a list of detected ones.</td> +</tr> +<tr> +<td><a href="#BaseDevice.sendCommands">sendCommands</a></td> +<td>Public method to send a list of commands to the device.</td> +</tr> +<tr> +<td><a href="#BaseDevice.setButtons">setButtons</a></td> +<td>Public method to enable the supported action buttons.</td> +</tr> +<tr> +<td><a href="#BaseDevice.setConnected">setConnected</a></td> +<td>Public method to set the connection state.</td> +</tr> +<tr> +<td><a href="#BaseDevice.setFileManager">setFileManager</a></td> +<td>Public method to set the File Manager status and dependent status.</td> +</tr> +<tr> +<td><a href="#BaseDevice.setPlotter">setPlotter</a></td> +<td>Public method to set the Plotter status and dependent status.</td> +</tr> +<tr> +<td><a href="#BaseDevice.setRepl">setRepl</a></td> +<td>Public method to set the REPL status and dependent status.</td> +</tr> +<tr> +<td><a href="#BaseDevice.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="BaseDevice.__init__" ID="BaseDevice.__init__"></a> +<h4>BaseDevice (Constructor)</h4> +<b>BaseDevice</b>(<i>microPythonWidget, deviceType, parent=None</i>) + +<p> + Constructor +</p> +<dl> + +<dt><i>microPythonWidget</i> (MicroPythonWidget)</dt> +<dd> +reference to the main MicroPython widget +</dd> +<dt><i>deviceType</i> (str)</dt> +<dd> +device type assigned to this device interface +</dd> +<dt><i>parent</i> (QObject)</dt> +<dd> +reference to the parent object +</dd> +</dl> +<a NAME="BaseDevice.addDeviceMenuEntries" ID="BaseDevice.addDeviceMenuEntries"></a> +<h4>BaseDevice.addDeviceMenuEntries</h4> +<b>addDeviceMenuEntries</b>(<i>menu</i>) + +<p> + Public method to add device specific entries to the given menu. +</p> +<dl> + +<dt><i>menu</i> (QMenu)</dt> +<dd> +reference to the context menu +</dd> +</dl> +<a NAME="BaseDevice.canRunScript" ID="BaseDevice.canRunScript"></a> +<h4>BaseDevice.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="BaseDevice.canStartFileManager" ID="BaseDevice.canStartFileManager"></a> +<h4>BaseDevice.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="BaseDevice.canStartPlotter" ID="BaseDevice.canStartPlotter"></a> +<h4>BaseDevice.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="BaseDevice.canStartRepl" ID="BaseDevice.canStartRepl"></a> +<h4>BaseDevice.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="BaseDevice.checkDeviceData" ID="BaseDevice.checkDeviceData"></a> +<h4>BaseDevice.checkDeviceData</h4> +<b>checkDeviceData</b>(<i></i>) + +<p> + Public method to check the validity of the device data determined during + connecting the device. +</p> +<dl> +<dt>Return:</dt> +<dd> +flag indicating valid device data +</dd> +</dl> +<dl> +<dt>Return Type:</dt> +<dd> +bool +</dd> +</dl> +<a NAME="BaseDevice.deviceName" ID="BaseDevice.deviceName"></a> +<h4>BaseDevice.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="BaseDevice.downloadFirmware" ID="BaseDevice.downloadFirmware"></a> +<h4>BaseDevice.downloadFirmware</h4> +<b>downloadFirmware</b>(<i></i>) + +<p> + Public method to download the device firmware. +</p> +<a NAME="BaseDevice.forceInterrupt" ID="BaseDevice.forceInterrupt"></a> +<h4>BaseDevice.forceInterrupt</h4> +<b>forceInterrupt</b>(<i></i>) + +<p> + Public method to determine the need for an interrupt when opening the + serial connection. +</p> +<dl> +<dt>Return:</dt> +<dd> +flag indicating an interrupt is needed +</dd> +</dl> +<dl> +<dt>Return Type:</dt> +<dd> +bool +</dd> +</dl> +<a NAME="BaseDevice.getDeviceData" ID="BaseDevice.getDeviceData"></a> +<h4>BaseDevice.getDeviceData</h4> +<b>getDeviceData</b>(<i></i>) + +<p> + Public method to get a copy of the determined device data. +</p> +<dl> +<dt>Return:</dt> +<dd> +dictionary containing the essential device data +</dd> +</dl> +<dl> +<dt>Return Type:</dt> +<dd> +dict +</dd> +</dl> +<a NAME="BaseDevice.getDeviceType" ID="BaseDevice.getDeviceType"></a> +<h4>BaseDevice.getDeviceType</h4> +<b>getDeviceType</b>(<i></i>) + +<p> + Public method to get the device type. +</p> +<dl> +<dt>Return:</dt> +<dd> +type of the device +</dd> +</dl> +<dl> +<dt>Return Type:</dt> +<dd> +str +</dd> +</dl> +<a NAME="BaseDevice.getDocumentationUrl" ID="BaseDevice.getDocumentationUrl"></a> +<h4>BaseDevice.getDocumentationUrl</h4> +<b>getDocumentationUrl</b>(<i></i>) + +<p> + Public method to get the device documentation URL. +</p> +<dl> +<dt>Return:</dt> +<dd> +documentation URL of the device +</dd> +</dl> +<dl> +<dt>Return Type:</dt> +<dd> +str +</dd> +</dl> +<a NAME="BaseDevice.getDownloadMenuEntries" ID="BaseDevice.getDownloadMenuEntries"></a> +<h4>BaseDevice.getDownloadMenuEntries</h4> +<b>getDownloadMenuEntries</b>(<i></i>) + +<p> + Public method to retrieve the entries for the downloads menu. +</p> +<dl> +<dt>Return:</dt> +<dd> +list of tuples with menu text and URL to be opened for each + entry +</dd> +</dl> +<dl> +<dt>Return Type:</dt> +<dd> +list of tuple of (str, str) +</dd> +</dl> +<a NAME="BaseDevice.getFirmwareUrl" ID="BaseDevice.getFirmwareUrl"></a> +<h4>BaseDevice.getFirmwareUrl</h4> +<b>getFirmwareUrl</b>(<i></i>) + +<p> + Public method to get the device firmware download URL. +</p> +<dl> +<dt>Return:</dt> +<dd> +firmware download URL of the device +</dd> +</dl> +<dl> +<dt>Return Type:</dt> +<dd> +str +</dd> +</dl> +<a NAME="BaseDevice.getWorkspace" ID="BaseDevice.getWorkspace"></a> +<h4>BaseDevice.getWorkspace</h4> +<b>getWorkspace</b>(<i></i>) + +<p> + Public method to get the workspace directory. +</p> +<dl> +<dt>Return:</dt> +<dd> +workspace directory used for saving files +</dd> +</dl> +<dl> +<dt>Return Type:</dt> +<dd> +str +</dd> +</dl> +<a NAME="BaseDevice.handleDataFlood" ID="BaseDevice.handleDataFlood"></a> +<h4>BaseDevice.handleDataFlood</h4> +<b>handleDataFlood</b>(<i></i>) + +<p> + Public slot handling a data floof from the device. +</p> +<a NAME="BaseDevice.hasDocumentationUrl" ID="BaseDevice.hasDocumentationUrl"></a> +<h4>BaseDevice.hasDocumentationUrl</h4> +<b>hasDocumentationUrl</b>(<i></i>) + +<p> + Public method to check, if the device has a configured documentation + URL. +</p> +<dl> +<dt>Return:</dt> +<dd> +flag indicating a configured documentation URL +</dd> +</dl> +<dl> +<dt>Return Type:</dt> +<dd> +bool +</dd> +</dl> +<a NAME="BaseDevice.hasFirmwareUrl" ID="BaseDevice.hasFirmwareUrl"></a> +<h4>BaseDevice.hasFirmwareUrl</h4> +<b>hasFirmwareUrl</b>(<i></i>) + +<p> + Public method to check, if the device has a configured firmware + download URL. +</p> +<dl> +<dt>Return:</dt> +<dd> +flag indicating a configured firmware download URL +</dd> +</dl> +<dl> +<dt>Return Type:</dt> +<dd> +bool +</dd> +</dl> +<a NAME="BaseDevice.hasFlashMenuEntry" ID="BaseDevice.hasFlashMenuEntry"></a> +<h4>BaseDevice.hasFlashMenuEntry</h4> +<b>hasFlashMenuEntry</b>(<i></i>) + +<p> + Public method to check, if the device has its own flash menu entry. +</p> +<dl> +<dt>Return:</dt> +<dd> +flag indicating a specific flash menu entry +</dd> +</dl> +<dl> +<dt>Return Type:</dt> +<dd> +bool +</dd> +</dl> +<a NAME="BaseDevice.hasTimeCommands" ID="BaseDevice.hasTimeCommands"></a> +<h4>BaseDevice.hasTimeCommands</h4> +<b>hasTimeCommands</b>(<i></i>) + +<p> + Public method to check, if the device supports time commands. +</p> +<p> + The default returns True. +</p> +<dl> +<dt>Return:</dt> +<dd> +flag indicating support for time commands +</dd> +</dl> +<dl> +<dt>Return Type:</dt> +<dd> +bool +</dd> +</dl> +<a NAME="BaseDevice.runScript" ID="BaseDevice.runScript"></a> +<h4>BaseDevice.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="BaseDevice.selectDeviceDirectory" ID="BaseDevice.selectDeviceDirectory"></a> +<h4>BaseDevice.selectDeviceDirectory</h4> +<b>selectDeviceDirectory</b>(<i>deviceDirectories</i>) + +<p> + Public method to select the device directory from a list of detected + ones. +</p> +<dl> + +<dt><i>deviceDirectories</i> (list of str)</dt> +<dd> +list of directories to select from +</dd> +</dl> +<dl> +<dt>Return:</dt> +<dd> +selected directory or an empty string +</dd> +</dl> +<dl> +<dt>Return Type:</dt> +<dd> +str +</dd> +</dl> +<a NAME="BaseDevice.sendCommands" ID="BaseDevice.sendCommands"></a> +<h4>BaseDevice.sendCommands</h4> +<b>sendCommands</b>(<i>commandsList</i>) + +<p> + Public method to send a list of commands to the device. +</p> +<dl> + +<dt><i>commandsList</i> (list of str)</dt> +<dd> +list of commands to be sent to the device +</dd> +</dl> +<a NAME="BaseDevice.setButtons" ID="BaseDevice.setButtons"></a> +<h4>BaseDevice.setButtons</h4> +<b>setButtons</b>(<i></i>) + +<p> + Public method to enable the supported action buttons. +</p> +<a NAME="BaseDevice.setConnected" ID="BaseDevice.setConnected"></a> +<h4>BaseDevice.setConnected</h4> +<b>setConnected</b>(<i>connected</i>) + +<p> + Public method to set the connection state. +</p> +<p> + Note: This method can be overwritten to perform actions upon connect + or disconnect of the device. +</p> +<dl> + +<dt><i>connected</i> (bool)</dt> +<dd> +connection state +</dd> +</dl> +<a NAME="BaseDevice.setFileManager" ID="BaseDevice.setFileManager"></a> +<h4>BaseDevice.setFileManager</h4> +<b>setFileManager</b>(<i>on</i>) + +<p> + Public method to set the File Manager status and dependent status. +</p> +<dl> + +<dt><i>on</i> (bool)</dt> +<dd> +flag indicating the active status +</dd> +</dl> +<a NAME="BaseDevice.setPlotter" ID="BaseDevice.setPlotter"></a> +<h4>BaseDevice.setPlotter</h4> +<b>setPlotter</b>(<i>on</i>) + +<p> + Public method to set the Plotter status and dependent status. +</p> +<dl> + +<dt><i>on</i> (bool)</dt> +<dd> +flag indicating the active status +</dd> +</dl> +<a NAME="BaseDevice.setRepl" ID="BaseDevice.setRepl"></a> +<h4>BaseDevice.setRepl</h4> +<b>setRepl</b>(<i>on</i>) + +<p> + Public method to set the REPL status and dependent status. +</p> +<dl> + +<dt><i>on</i> (bool)</dt> +<dd> +flag indicating the active status +</dd> +</dl> +<a NAME="BaseDevice.supportsLocalFileAccess" ID="BaseDevice.supportsLocalFileAccess"></a> +<h4>BaseDevice.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