eric6/Documentation/Source/eric6.MicroPython.MicroPythonDevices.html

Sun, 31 Jan 2021 17:50:31 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sun, 31 Jan 2021 17:50:31 +0100
changeset 8039
13fed1ed06e8
parent 7989
a21d673a8f99
child 8070
6758ba4670e1
permissions
-rw-r--r--

Did some visual improvements.

<!DOCTYPE html>
<html><head>
<title>eric6.MicroPython.MicroPythonDevices</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.MicroPythonDevices</h1>

<p>
Module implementing some utility functions and the MicroPythonDevice base
class.
</p>
<h3>Global Attributes</h3>

<table>
<tr><td>IgnoredBoards</td></tr><tr><td>SupportedBoards</td></tr>
</table>
<h3>Classes</h3>

<table>

<tr>
<td><a href="#MicroPythonDevice">MicroPythonDevice</a></td>
<td>Base class for the more specific MicroPython devices.</td>
</tr>
</table>
<h3>Functions</h3>

<table>

<tr>
<td><a href="#getDevice">getDevice</a></td>
<td>Public method to instantiate a specific MicroPython device interface.</td>
</tr>
<tr>
<td><a href="#getDeviceIcon">getDeviceIcon</a></td>
<td>Function to get the icon for the given board.</td>
</tr>
<tr>
<td><a href="#getFoundDevices">getFoundDevices</a></td>
<td>Function to check the serial ports for supported MicroPython devices.</td>
</tr>
<tr>
<td><a href="#getSupportedDevices">getSupportedDevices</a></td>
<td>Function to get a list of supported MicroPython devices.</td>
</tr>
</table>
<hr />
<hr />
<a NAME="MicroPythonDevice" ID="MicroPythonDevice"></a>
<h2>MicroPythonDevice</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="#MicroPythonDevice.__init__">MicroPythonDevice</a></td>
<td>Constructor</td>
</tr>
<tr>
<td><a href="#MicroPythonDevice.addDeviceMenuEntries">addDeviceMenuEntries</a></td>
<td>Public method to add device specific entries to the given menu.</td>
</tr>
<tr>
<td><a href="#MicroPythonDevice.canRunScript">canRunScript</a></td>
<td>Public method to determine, if a script can be executed.</td>
</tr>
<tr>
<td><a href="#MicroPythonDevice.canStartFileManager">canStartFileManager</a></td>
<td>Public method to determine, if a File Manager can be started.</td>
</tr>
<tr>
<td><a href="#MicroPythonDevice.canStartPlotter">canStartPlotter</a></td>
<td>Public method to determine, if a Plotter can be started.</td>
</tr>
<tr>
<td><a href="#MicroPythonDevice.canStartRepl">canStartRepl</a></td>
<td>Public method to determine, if a REPL can be started.</td>
</tr>
<tr>
<td><a href="#MicroPythonDevice.deviceName">deviceName</a></td>
<td>Public method to get the name of the device.</td>
</tr>
<tr>
<td><a href="#MicroPythonDevice.downloadFirmware">downloadFirmware</a></td>
<td>Public method to download the device firmware.</td>
</tr>
<tr>
<td><a href="#MicroPythonDevice.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="#MicroPythonDevice.getDocumentationUrl">getDocumentationUrl</a></td>
<td>Public method to get the device documentation URL.</td>
</tr>
<tr>
<td><a href="#MicroPythonDevice.getFirmwareUrl">getFirmwareUrl</a></td>
<td>Public method to get the device firmware download URL.</td>
</tr>
<tr>
<td><a href="#MicroPythonDevice.getWorkspace">getWorkspace</a></td>
<td>Public method to get the workspace directory.</td>
</tr>
<tr>
<td><a href="#MicroPythonDevice.handleDataFlood">handleDataFlood</a></td>
<td>Public slot handling a data floof from the device.</td>
</tr>
<tr>
<td><a href="#MicroPythonDevice.hasDocumentationUrl">hasDocumentationUrl</a></td>
<td>Public method to check, if the device has a configured documentation URL.</td>
</tr>
<tr>
<td><a href="#MicroPythonDevice.hasFirmwareUrl">hasFirmwareUrl</a></td>
<td>Public method to check, if the device has a configured firmware download URL.</td>
</tr>
<tr>
<td><a href="#MicroPythonDevice.hasTimeCommands">hasTimeCommands</a></td>
<td>Public method to check, if the device supports time commands.</td>
</tr>
<tr>
<td><a href="#MicroPythonDevice.runScript">runScript</a></td>
<td>Public method to run the given Python script.</td>
</tr>
<tr>
<td><a href="#MicroPythonDevice.sendCommands">sendCommands</a></td>
<td>Public method to send a list of commands to the device.</td>
</tr>
<tr>
<td><a href="#MicroPythonDevice.setButtons">setButtons</a></td>
<td>Public method to enable the supported action buttons.</td>
</tr>
<tr>
<td><a href="#MicroPythonDevice.setFileManager">setFileManager</a></td>
<td>Public method to set the File Manager status and dependent status.</td>
</tr>
<tr>
<td><a href="#MicroPythonDevice.setPlotter">setPlotter</a></td>
<td>Public method to set the Plotter status and dependent status.</td>
</tr>
<tr>
<td><a href="#MicroPythonDevice.setRepl">setRepl</a></td>
<td>Public method to set the REPL status and dependent status.</td>
</tr>
<tr>
<td><a href="#MicroPythonDevice.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="MicroPythonDevice.__init__" ID="MicroPythonDevice.__init__"></a>
<h4>MicroPythonDevice (Constructor)</h4>
<b>MicroPythonDevice</b>(<i>microPythonWidget, parent=None</i>)

<p>
        Constructor
</p>
<dl>

<dt><i>microPythonWidget</i> (MicroPythonWidget)</dt>
<dd>
reference to the main MicroPython widget
</dd>
<dt><i>parent</i> (QObject)</dt>
<dd>
reference to the parent object
</dd>
</dl>
<a NAME="MicroPythonDevice.addDeviceMenuEntries" ID="MicroPythonDevice.addDeviceMenuEntries"></a>
<h4>MicroPythonDevice.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="MicroPythonDevice.canRunScript" ID="MicroPythonDevice.canRunScript"></a>
<h4>MicroPythonDevice.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="MicroPythonDevice.canStartFileManager" ID="MicroPythonDevice.canStartFileManager"></a>
<h4>MicroPythonDevice.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="MicroPythonDevice.canStartPlotter" ID="MicroPythonDevice.canStartPlotter"></a>
<h4>MicroPythonDevice.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="MicroPythonDevice.canStartRepl" ID="MicroPythonDevice.canStartRepl"></a>
<h4>MicroPythonDevice.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="MicroPythonDevice.deviceName" ID="MicroPythonDevice.deviceName"></a>
<h4>MicroPythonDevice.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="MicroPythonDevice.downloadFirmware" ID="MicroPythonDevice.downloadFirmware"></a>
<h4>MicroPythonDevice.downloadFirmware</h4>
<b>downloadFirmware</b>(<i></i>)

<p>
        Public method to download the device firmware.
</p>
<a NAME="MicroPythonDevice.forceInterrupt" ID="MicroPythonDevice.forceInterrupt"></a>
<h4>MicroPythonDevice.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="MicroPythonDevice.getDocumentationUrl" ID="MicroPythonDevice.getDocumentationUrl"></a>
<h4>MicroPythonDevice.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="MicroPythonDevice.getFirmwareUrl" ID="MicroPythonDevice.getFirmwareUrl"></a>
<h4>MicroPythonDevice.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="MicroPythonDevice.getWorkspace" ID="MicroPythonDevice.getWorkspace"></a>
<h4>MicroPythonDevice.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="MicroPythonDevice.handleDataFlood" ID="MicroPythonDevice.handleDataFlood"></a>
<h4>MicroPythonDevice.handleDataFlood</h4>
<b>handleDataFlood</b>(<i></i>)

<p>
        Public slot handling a data floof from the device.
</p>
<a NAME="MicroPythonDevice.hasDocumentationUrl" ID="MicroPythonDevice.hasDocumentationUrl"></a>
<h4>MicroPythonDevice.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="MicroPythonDevice.hasFirmwareUrl" ID="MicroPythonDevice.hasFirmwareUrl"></a>
<h4>MicroPythonDevice.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="MicroPythonDevice.hasTimeCommands" ID="MicroPythonDevice.hasTimeCommands"></a>
<h4>MicroPythonDevice.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="MicroPythonDevice.runScript" ID="MicroPythonDevice.runScript"></a>
<h4>MicroPythonDevice.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="MicroPythonDevice.sendCommands" ID="MicroPythonDevice.sendCommands"></a>
<h4>MicroPythonDevice.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="MicroPythonDevice.setButtons" ID="MicroPythonDevice.setButtons"></a>
<h4>MicroPythonDevice.setButtons</h4>
<b>setButtons</b>(<i></i>)

<p>
        Public method to enable the supported action buttons.
</p>
<a NAME="MicroPythonDevice.setFileManager" ID="MicroPythonDevice.setFileManager"></a>
<h4>MicroPythonDevice.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="MicroPythonDevice.setPlotter" ID="MicroPythonDevice.setPlotter"></a>
<h4>MicroPythonDevice.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="MicroPythonDevice.setRepl" ID="MicroPythonDevice.setRepl"></a>
<h4>MicroPythonDevice.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="MicroPythonDevice.supportsLocalFileAccess" ID="MicroPythonDevice.supportsLocalFileAccess"></a>
<h4>MicroPythonDevice.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 />
<hr />
<a NAME="getDevice" ID="getDevice"></a>
<h2>getDevice</h2>
<b>getDevice</b>(<i>deviceType, microPythonWidget</i>)

<p>
    Public method to instantiate a specific MicroPython device interface.
</p>
<dl>

<dt><i>deviceType</i> (str)</dt>
<dd>
type of the device interface
</dd>
<dt><i>microPythonWidget</i> (MicroPythonWidget)</dt>
<dd>
reference to the main MicroPython widget
</dd>
</dl>
<dl>
<dt>Return:</dt>
<dd>
instantiated device interface
</dd>
</dl>
<dl>
<dt>Return Type:</dt>
<dd>
MicroPythonDevice
</dd>
</dl>
<div align="right"><a href="#top">Up</a></div>
<hr />
<hr />
<a NAME="getDeviceIcon" ID="getDeviceIcon"></a>
<h2>getDeviceIcon</h2>
<b>getDeviceIcon</b>(<i>boardName, iconFormat=True</i>)

<p>
    Function to get the icon for the given board.
</p>
<dl>

<dt><i>boardName</i> (str)</dt>
<dd>
name of the board
</dd>
<dt><i>iconFormat</i> (bool)</dt>
<dd>
flag indicating to get an icon or a pixmap
</dd>
</dl>
<dl>
<dt>Return:</dt>
<dd>
icon for the board (iconFormat == True) or
        a pixmap (iconFormat == False)
</dd>
</dl>
<dl>
<dt>Return Type:</dt>
<dd>
QIcon or QPixmap
</dd>
</dl>
<div align="right"><a href="#top">Up</a></div>
<hr />
<hr />
<a NAME="getFoundDevices" ID="getFoundDevices"></a>
<h2>getFoundDevices</h2>
<b>getFoundDevices</b>(<i></i>)

<p>
    Function to check the serial ports for supported MicroPython devices.
</p>
<dl>
<dt>Return:</dt>
<dd>
tuple containing a list of tuples with the board type, a
        description and the serial port it is connected at for known device
        types and a list of tuples with VID, PID and description for unknown
        devices
</dd>
</dl>
<dl>
<dt>Return Type:</dt>
<dd>
tuple of (list of tuples of (str, str, str), list of tuples of
        (int, int, str)
</dd>
</dl>
<div align="right"><a href="#top">Up</a></div>
<hr />
<hr />
<a NAME="getSupportedDevices" ID="getSupportedDevices"></a>
<h2>getSupportedDevices</h2>
<b>getSupportedDevices</b>(<i></i>)

<p>
    Function to get a list of supported MicroPython devices.
</p>
<dl>
<dt>Return:</dt>
<dd>
set of tuples with the board type and description
</dd>
</dl>
<dl>
<dt>Return Type:</dt>
<dd>
set of tuples of (str, str)
</dd>
</dl>
<div align="right"><a href="#top">Up</a></div>
<hr />
</body></html>

eric ide

mercurial