Files
revpimodio2/doc/revpimodio2.device.html
2017-08-14 16:12:44 +02:00

822 lines
23 KiB
HTML

<!DOCTYPE html>
<html><head>
<title>revpimodio2.device</title>
<meta charset="UTF-8">
</head>
<body style="background-color:#FFFFFF;color:#000000"><a NAME="top" ID="top"></a>
<h1 style="background-color:#FFFFFF;color:#0000FF">
revpimodio2.device</h1>
<p>
Modul fuer die Verwaltung der Devices.
</p>
<h3 style="background-color:#FFFFFF;color:#FF0000">
Global Attributes</h3>
<table>
<tr><td>None</td></tr>
</table>
<h3 style="background-color:#FFFFFF;color:#FF0000">
Classes</h3>
<table>
<tr>
<td><a style="color:#0000FF" href="#Core">Core</a></td>
<td>Klasse fuer den RevPi Core.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#Device">Device</a></td>
<td>Basisklasse fuer alle Device-Objekte der RevPiDevicelist()-Klasse.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#DeviceList">DeviceList</a></td>
<td>Basisklasse fuer direkten Zugriff auf Device Objekte.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#Gateway">Gateway</a></td>
<td>Klasse fuer die RevPi Gateway-Devices.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#Virtual">Virtual</a></td>
<td>Klasse fuer die RevPi Virtual-Devices.</td>
</tr>
</table>
<h3 style="background-color:#FFFFFF;color:#FF0000">
Functions</h3>
<table>
<tr><td>None</td></tr>
</table>
<hr /><hr />
<a NAME="Core" ID="Core"></a>
<h2 style="background-color:#FFFFFF;color:#0000FF">Core</h2>
<p>
Klasse fuer den RevPi Core.
</p><p>
Stellt Funktionen fuer die LEDs und den Status zur Verfuegung.
</p><p>
</p>
<h3 style="background-color:#FFFFFF;color:#FF0000">
Derived from</h3>
Device
<h3 style="background-color:#FFFFFF;color:#FF0000">
Class Attributes</h3>
<table>
<tr><td>A1</td></tr><tr><td>A2</td></tr><tr><td>status</td></tr>
</table>
<h3 style="background-color:#FFFFFF;color:#FF0000">
Class Methods</h3>
<table>
<tr><td>None</td></tr>
</table>
<h3 style="background-color:#FFFFFF;color:#FF0000">
Methods</h3>
<table>
<tr>
<td><a style="color:#0000FF" href="#Core._devconfigure">_devconfigure</a></td>
<td>Core-Klasse vorbereiten.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#Core._errorlimit">_errorlimit</a></td>
<td>Verwaltet das Lesen und Schreiben der ErrorLimits.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#Core.errorlimit1">errorlimit1</a></td>
<td>Setzt RS485 ErrorLimit1 auf neuen Wert.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#Core.errorlimit2">errorlimit2</a></td>
<td>Setzt RS485 ErrorLimit2 auf neuen Wert.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#Core.frequency">frequency</a></td>
<td>Gibt CPU Taktfrequenz zurueck.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#Core.get_leda1">get_leda1</a></td>
<td>Gibt den Zustand der LED A1 vom core zurueck.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#Core.get_leda2">get_leda2</a></td>
<td>Gibt den Zustand der LED A2 vom core zurueck.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#Core.get_status">get_status</a></td>
<td>Gibt den RevPi Core Status zurueck.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#Core.iocycle">iocycle</a></td>
<td>Gibt Zykluszeit der Prozessabbildsynchronisierung zurueck.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#Core.ioerrorcount">ioerrorcount</a></td>
<td>Gibt Fehleranzahl auf RS485 piBridge Bus zurueck.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#Core.leftgate">leftgate</a></td>
<td>Statusbit links vom RevPi ist ein piGate Modul angeschlossen.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#Core.missingdeviceorgate">missingdeviceorgate</a></td>
<td>Statusbit fuer ein IO-Modul fehlt oder piGate konfiguriert.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#Core.overunderflow">overunderflow</a></td>
<td>Statusbit Modul belegt mehr oder weniger Speicher als konfiguriert.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#Core.picontrolrunning">picontrolrunning</a></td>
<td>Statusbit fuer piControl-Treiber laeuft.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#Core.rightgate">rightgate</a></td>
<td>Statusbit rechts vom RevPi ist ein piGate Modul angeschlossen.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#Core.set_leda1">set_leda1</a></td>
<td>Setzt den Zustand der LED A1 vom core.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#Core.set_leda2">set_leda2</a></td>
<td>Setzt den Zustand der LED A2 vom core.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#Core.temperatur">temperatur</a></td>
<td>Gibt CPU-Temperatur zurueck.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#Core.unconfdevice">unconfdevice</a></td>
<td>Statusbit fuer ein IO-Modul nicht mit PiCtory konfiguriert.</td>
</tr>
</table>
<h3 style="background-color:#FFFFFF;color:#FF0000">
Static Methods</h3>
<table>
<tr><td>None</td></tr>
</table>
<a NAME="Core._devconfigure" ID="Core._devconfigure"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
Core._devconfigure</h3>
<b>_devconfigure</b>(<i></i>)
<p>
Core-Klasse vorbereiten.
</p><a NAME="Core._errorlimit" ID="Core._errorlimit"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
Core._errorlimit</h3>
<b>_errorlimit</b>(<i>io_id, errorlimit</i>)
<p>
Verwaltet das Lesen und Schreiben der ErrorLimits.
</p><dl>
<dt><i>io_id</i></dt>
<dd>
Index des IOs fuer ErrorLimit
</dd>
</dl><dl>
<dt>Returns:</dt>
<dd>
Aktuellen ErrorLimit oder None wenn nicht verfuegbar
</dd>
</dl><a NAME="Core.errorlimit1" ID="Core.errorlimit1"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
Core.errorlimit1</h3>
<b>errorlimit1</b>(<i>value</i>)
<p>
Setzt RS485 ErrorLimit1 auf neuen Wert.
</p><dl>
<dt><i>value</i></dt>
<dd>
Neuer ErrorLimit1 Wert
</dd>
</dl><a NAME="Core.errorlimit2" ID="Core.errorlimit2"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
Core.errorlimit2</h3>
<b>errorlimit2</b>(<i>value</i>)
<p>
Setzt RS485 ErrorLimit2 auf neuen Wert.
</p><dl>
<dt><i>value</i></dt>
<dd>
Neuer ErrorLimit2 Wert
</dd>
</dl><a NAME="Core.frequency" ID="Core.frequency"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
Core.frequency</h3>
<b>frequency</b>(<i></i>)
<p>
Gibt CPU Taktfrequenz zurueck.
</p><dl>
<dt>Returns:</dt>
<dd>
CPU Taktfrequenz in MHz
</dd>
</dl><a NAME="Core.get_leda1" ID="Core.get_leda1"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
Core.get_leda1</h3>
<b>get_leda1</b>(<i></i>)
<p>
Gibt den Zustand der LED A1 vom core zurueck.
</p><dl>
<dt>Returns:</dt>
<dd>
0=aus, 1=gruen, 2=rot
</dd>
</dl><a NAME="Core.get_leda2" ID="Core.get_leda2"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
Core.get_leda2</h3>
<b>get_leda2</b>(<i></i>)
<p>
Gibt den Zustand der LED A2 vom core zurueck.
</p><dl>
<dt>Returns:</dt>
<dd>
0=aus, 1=gruen, 2=rot
</dd>
</dl><a NAME="Core.get_status" ID="Core.get_status"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
Core.get_status</h3>
<b>get_status</b>(<i></i>)
<p>
Gibt den RevPi Core Status zurueck.
</p><dl>
<dt>Returns:</dt>
<dd>
Status als int()
</dd>
</dl><a NAME="Core.iocycle" ID="Core.iocycle"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
Core.iocycle</h3>
<b>iocycle</b>(<i></i>)
<p>
Gibt Zykluszeit der Prozessabbildsynchronisierung zurueck.
</p><dl>
<dt>Returns:</dt>
<dd>
Zykluszeit in ms
</dd>
</dl><a NAME="Core.ioerrorcount" ID="Core.ioerrorcount"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
Core.ioerrorcount</h3>
<b>ioerrorcount</b>(<i></i>)
<p>
Gibt Fehleranzahl auf RS485 piBridge Bus zurueck.
</p><dl>
<dt>Returns:</dt>
<dd>
Fehleranzahl der piBridge
</dd>
</dl><a NAME="Core.leftgate" ID="Core.leftgate"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
Core.leftgate</h3>
<b>leftgate</b>(<i></i>)
<p>
Statusbit links vom RevPi ist ein piGate Modul angeschlossen.
</p><dl>
<dt>Returns:</dt>
<dd>
True, wenn piGate links existiert
</dd>
</dl><a NAME="Core.missingdeviceorgate" ID="Core.missingdeviceorgate"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
Core.missingdeviceorgate</h3>
<b>missingdeviceorgate</b>(<i></i>)
<p>
Statusbit fuer ein IO-Modul fehlt oder piGate konfiguriert.
</p><dl>
<dt>Returns:</dt>
<dd>
True, wenn IO-Modul fehlt oder piGate konfiguriert
</dd>
</dl><a NAME="Core.overunderflow" ID="Core.overunderflow"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
Core.overunderflow</h3>
<b>overunderflow</b>(<i></i>)
<p>
Statusbit Modul belegt mehr oder weniger Speicher als konfiguriert.
</p><dl>
<dt>Returns:</dt>
<dd>
True, wenn falscher Speicher belegt ist
</dd>
</dl><a NAME="Core.picontrolrunning" ID="Core.picontrolrunning"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
Core.picontrolrunning</h3>
<b>picontrolrunning</b>(<i></i>)
<p>
Statusbit fuer piControl-Treiber laeuft.
</p><dl>
<dt>Returns:</dt>
<dd>
True, wenn Treiber laeuft
</dd>
</dl><a NAME="Core.rightgate" ID="Core.rightgate"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
Core.rightgate</h3>
<b>rightgate</b>(<i></i>)
<p>
Statusbit rechts vom RevPi ist ein piGate Modul angeschlossen.
</p><dl>
<dt>Returns:</dt>
<dd>
True, wenn piGate rechts existiert
</dd>
</dl><a NAME="Core.set_leda1" ID="Core.set_leda1"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
Core.set_leda1</h3>
<b>set_leda1</b>(<i>value</i>)
<p>
Setzt den Zustand der LED A1 vom core.
</p><dl>
<dt><i>value</i></dt>
<dd>
0=aus, 1=gruen, 2=rot
</dd>
</dl><a NAME="Core.set_leda2" ID="Core.set_leda2"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
Core.set_leda2</h3>
<b>set_leda2</b>(<i>value</i>)
<p>
Setzt den Zustand der LED A2 vom core.
</p><dl>
<dt><i>value</i></dt>
<dd>
0=aus, 1=gruen, 2=rot
</dd>
</dl><a NAME="Core.temperatur" ID="Core.temperatur"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
Core.temperatur</h3>
<b>temperatur</b>(<i></i>)
<p>
Gibt CPU-Temperatur zurueck.
</p><dl>
<dt>Returns:</dt>
<dd>
CPU-Temperatur in Celsius
</dd>
</dl><a NAME="Core.unconfdevice" ID="Core.unconfdevice"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
Core.unconfdevice</h3>
<b>unconfdevice</b>(<i></i>)
<p>
Statusbit fuer ein IO-Modul nicht mit PiCtory konfiguriert.
</p><dl>
<dt>Returns:</dt>
<dd>
True, wenn IO Modul nicht konfiguriert
</dd>
</dl>
<div align="right"><a style="color:#0000FF" href="#top">Up</a></div>
<hr /><hr />
<a NAME="Device" ID="Device"></a>
<h2 style="background-color:#FFFFFF;color:#0000FF">Device</h2>
<p>
Basisklasse fuer alle Device-Objekte der RevPiDevicelist()-Klasse.
</p><p>
Die Basisfunktionalitaet generiert bei Instantiierung alle IOs und
erweitert den Prozessabbildpuffer um die benoetigten Bytes. Ueber diese
Klasse oder von dieser abgeleiteten Klassen, werden alle IOs angesprochen.
Sie verwaltet ihren Prozessabbildpuffer und sorgt fuer die Aktualisierung
der IO-Werte.
</p><p>
</p>
<h3 style="background-color:#FFFFFF;color:#FF0000">
Derived from</h3>
object
<h3 style="background-color:#FFFFFF;color:#FF0000">
Class Attributes</h3>
<table>
<tr><td>None</td></tr>
</table>
<h3 style="background-color:#FFFFFF;color:#FF0000">
Class Methods</h3>
<table>
<tr><td>None</td></tr>
</table>
<h3 style="background-color:#FFFFFF;color:#FF0000">
Methods</h3>
<table>
<tr>
<td><a style="color:#0000FF" href="#Device.__init__">Device</a></td>
<td>Instantiierung der Device()-Klasse.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#Device.__bytes__">__bytes__</a></td>
<td>Gibt alle Daten des Devices als bytes() zurueck.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#Device.__contains__">__contains__</a></td>
<td>Prueft ob IO auf diesem Device liegt.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#Device.__int__">__int__</a></td>
<td>Gibt die Positon im RevPi Bus zurueck.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#Device.__iter__">__iter__</a></td>
<td>Gibt Iterator aller IOs zurueck.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#Device.__len__">__len__</a></td>
<td>Gibt Anzahl der Bytes zurueck, die dieses Device belegt.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#Device.__str__">__str__</a></td>
<td>Gibt den Namen des Devices zurueck.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#Device._buildio">_buildio</a></td>
<td>Erstellt aus der piCtory-Liste die IOs fuer dieses Device.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#Device._devconfigure">_devconfigure</a></td>
<td>Funktion zum ueberschreiben von abgeleiteten Klassen.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#Device.auto_refresh">auto_refresh</a></td>
<td>Registriert ein Device fuer die automatische Synchronisierung.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#Device.get_allios">get_allios</a></td>
<td>Gibt eine Liste aller Inputs und Outputs zurueck.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#Device.get_inps">get_inps</a></td>
<td>Gibt eine Liste aller Inputs zurueck.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#Device.get_mems">get_mems</a></td>
<td>Gibt eine Liste aller mems zurueck.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#Device.get_outs">get_outs</a></td>
<td>Gibt eine Liste aller Outputs zurueck.</td>
</tr>
</table>
<h3 style="background-color:#FFFFFF;color:#FF0000">
Static Methods</h3>
<table>
<tr><td>None</td></tr>
</table>
<a NAME="Device.__init__" ID="Device.__init__"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
Device (Constructor)</h3>
<b>Device</b>(<i>parentmodio, dict_device, **kwargs</i>)
<p>
Instantiierung der Device()-Klasse.
</p><dl>
<dt><i>parent</i></dt>
<dd>
RevpiModIO parent object
</dd><dt><i>dict_device</i></dt>
<dd>
dict() fuer dieses Device aus piCotry Konfiguration
</dd><dt><i>kwargs</i></dt>
<dd>
Weitere Parameter:
- autoupdate: Wenn True fuehrt dieses Device Arbeiten am
Prozessabbild bei Aufruf der RevPiDevicelist-Funktionen aus
- simulator: Laed das Modul als Simulator und vertauscht IOs
</dd>
</dl><a NAME="Device.__bytes__" ID="Device.__bytes__"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
Device.__bytes__</h3>
<b>__bytes__</b>(<i></i>)
<p>
Gibt alle Daten des Devices als bytes() zurueck.
</p><dl>
<dt>Returns:</dt>
<dd>
Devicedaten als bytes()
</dd>
</dl><a NAME="Device.__contains__" ID="Device.__contains__"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
Device.__contains__</h3>
<b>__contains__</b>(<i>key</i>)
<p>
Prueft ob IO auf diesem Device liegt.
</p><dl>
<dt><i>key</i></dt>
<dd>
IO-Name str() / IO-Bytenummer int()
</dd>
</dl><dl>
<dt>Returns:</dt>
<dd>
True, wenn device vorhanden
</dd>
</dl><a NAME="Device.__int__" ID="Device.__int__"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
Device.__int__</h3>
<b>__int__</b>(<i></i>)
<p>
Gibt die Positon im RevPi Bus zurueck.
</p><dl>
<dt>Returns:</dt>
<dd>
Positionsnummer
</dd>
</dl><a NAME="Device.__iter__" ID="Device.__iter__"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
Device.__iter__</h3>
<b>__iter__</b>(<i></i>)
<p>
Gibt Iterator aller IOs zurueck.
</p><dl>
<dt>Returns:</dt>
<dd>
iter() aller IOs
</dd>
</dl><a NAME="Device.__len__" ID="Device.__len__"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
Device.__len__</h3>
<b>__len__</b>(<i></i>)
<p>
Gibt Anzahl der Bytes zurueck, die dieses Device belegt.
</p><dl>
<dt>Returns:</dt>
<dd>
int()
</dd>
</dl><a NAME="Device.__str__" ID="Device.__str__"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
Device.__str__</h3>
<b>__str__</b>(<i></i>)
<p>
Gibt den Namen des Devices zurueck.
</p><dl>
<dt>Returns:</dt>
<dd>
Devicename
</dd>
</dl><a NAME="Device._buildio" ID="Device._buildio"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
Device._buildio</h3>
<b>_buildio</b>(<i>dict_io, iotype</i>)
<p>
Erstellt aus der piCtory-Liste die IOs fuer dieses Device.
</p><dl>
<dt><i>dict_io</i></dt>
<dd>
dict()-Objekt aus piCtory Konfiguration
</dd><dt><i>iotype</i></dt>
<dd>
IOType() Wert
</dd>
</dl><dl>
<dt>Returns:</dt>
<dd>
slice()-Objekt mit Start und Stop Position dieser IOs
</dd>
</dl><a NAME="Device._devconfigure" ID="Device._devconfigure"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
Device._devconfigure</h3>
<b>_devconfigure</b>(<i></i>)
<p>
Funktion zum ueberschreiben von abgeleiteten Klassen.
</p><a NAME="Device.auto_refresh" ID="Device.auto_refresh"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
Device.auto_refresh</h3>
<b>auto_refresh</b>(<i>remove=False</i>)
<p>
Registriert ein Device fuer die automatische Synchronisierung.
</p><dl>
<dt><i>remove</i></dt>
<dd>
bool() True entfernt Device aus Synchronisierung
</dd>
</dl><a NAME="Device.get_allios" ID="Device.get_allios"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
Device.get_allios</h3>
<b>get_allios</b>(<i></i>)
<p>
Gibt eine Liste aller Inputs und Outputs zurueck.
</p><dl>
<dt>Returns:</dt>
<dd>
list() Input und Output, keine MEMs
</dd>
</dl><a NAME="Device.get_inps" ID="Device.get_inps"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
Device.get_inps</h3>
<b>get_inps</b>(<i></i>)
<p>
Gibt eine Liste aller Inputs zurueck.
</p><dl>
<dt>Returns:</dt>
<dd>
list() Inputs
</dd>
</dl><a NAME="Device.get_mems" ID="Device.get_mems"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
Device.get_mems</h3>
<b>get_mems</b>(<i></i>)
<p>
Gibt eine Liste aller mems zurueck.
</p><dl>
<dt>Returns:</dt>
<dd>
list() Mems
</dd>
</dl><a NAME="Device.get_outs" ID="Device.get_outs"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
Device.get_outs</h3>
<b>get_outs</b>(<i></i>)
<p>
Gibt eine Liste aller Outputs zurueck.
</p><dl>
<dt>Returns:</dt>
<dd>
list() Outputs
</dd>
</dl>
<div align="right"><a style="color:#0000FF" href="#top">Up</a></div>
<hr /><hr />
<a NAME="DeviceList" ID="DeviceList"></a>
<h2 style="background-color:#FFFFFF;color:#0000FF">DeviceList</h2>
<p>
Basisklasse fuer direkten Zugriff auf Device Objekte.
</p>
<h3 style="background-color:#FFFFFF;color:#FF0000">
Derived from</h3>
object
<h3 style="background-color:#FFFFFF;color:#FF0000">
Class Attributes</h3>
<table>
<tr><td>None</td></tr>
</table>
<h3 style="background-color:#FFFFFF;color:#FF0000">
Class Methods</h3>
<table>
<tr><td>None</td></tr>
</table>
<h3 style="background-color:#FFFFFF;color:#FF0000">
Methods</h3>
<table>
<tr>
<td><a style="color:#0000FF" href="#DeviceList.__init__">DeviceList</a></td>
<td>Init DeviceList class.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#DeviceList.__contains__">__contains__</a></td>
<td>Prueft ob Device existiert.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#DeviceList.__getitem__">__getitem__</a></td>
<td>Gibt angegebenes Device zurueck.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#DeviceList.__iter__">__iter__</a></td>
<td>Gibt Iterator aller Devices zurueck.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#DeviceList.__len__">__len__</a></td>
<td>Gibt Anzahl der Devices zurueck.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#DeviceList.__setattr__">__setattr__</a></td>
<td>Setzt Attribute nur wenn Device.</td>
</tr>
</table>
<h3 style="background-color:#FFFFFF;color:#FF0000">
Static Methods</h3>
<table>
<tr><td>None</td></tr>
</table>
<a NAME="DeviceList.__init__" ID="DeviceList.__init__"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
DeviceList (Constructor)</h3>
<b>DeviceList</b>(<i></i>)
<p>
Init DeviceList class.
</p><a NAME="DeviceList.__contains__" ID="DeviceList.__contains__"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
DeviceList.__contains__</h3>
<b>__contains__</b>(<i>key</i>)
<p>
Prueft ob Device existiert.
</p><dl>
<dt><i>key</i></dt>
<dd>
DeviceName str() / Positionsnummer int()
</dd>
</dl><dl>
<dt>Returns:</dt>
<dd>
True, wenn Device vorhanden
</dd>
</dl><a NAME="DeviceList.__getitem__" ID="DeviceList.__getitem__"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
DeviceList.__getitem__</h3>
<b>__getitem__</b>(<i>key</i>)
<p>
Gibt angegebenes Device zurueck.
</p><dl>
<dt><i>key</i></dt>
<dd>
DeviceName str() / Positionsnummer int()
</dd>
</dl><dl>
<dt>Returns:</dt>
<dd>
Gefundenes Device()-Objekt
</dd>
</dl><a NAME="DeviceList.__iter__" ID="DeviceList.__iter__"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
DeviceList.__iter__</h3>
<b>__iter__</b>(<i></i>)
<p>
Gibt Iterator aller Devices zurueck.
</p><dl>
<dt>Returns:</dt>
<dd>
iter() aller Devices
</dd>
</dl><a NAME="DeviceList.__len__" ID="DeviceList.__len__"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
DeviceList.__len__</h3>
<b>__len__</b>(<i></i>)
<p>
Gibt Anzahl der Devices zurueck.
return Anzahl der Devices
</p><a NAME="DeviceList.__setattr__" ID="DeviceList.__setattr__"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
DeviceList.__setattr__</h3>
<b>__setattr__</b>(<i>key, value</i>)
<p>
Setzt Attribute nur wenn Device.
</p><dl>
<dt><i>key</i></dt>
<dd>
Attributname
</dd><dt><i>value</i></dt>
<dd>
Attributobjekt
</dd>
</dl>
<div align="right"><a style="color:#0000FF" href="#top">Up</a></div>
<hr /><hr />
<a NAME="Gateway" ID="Gateway"></a>
<h2 style="background-color:#FFFFFF;color:#0000FF">Gateway</h2>
<p>
Klasse fuer die RevPi Gateway-Devices.
</p><p>
Stellt neben den Funktionen von RevPiDevice weitere Funktionen fuer die
Gateways bereit. Es koennen ueber die reg_*-Funktionen eigene IOs definiert
werden, die ein RevPiStructIO-Objekt abbilden.
Dieser IO-Typ kann Werte ueber mehrere Bytes verarbeiten und zurueckgeben.
</p><p>
</p>
<h3 style="background-color:#FFFFFF;color:#FF0000">
Derived from</h3>
Device
<h3 style="background-color:#FFFFFF;color:#FF0000">
Class Attributes</h3>
<table>
<tr><td>None</td></tr>
</table>
<h3 style="background-color:#FFFFFF;color:#FF0000">
Class Methods</h3>
<table>
<tr><td>None</td></tr>
</table>
<h3 style="background-color:#FFFFFF;color:#FF0000">
Methods</h3>
<table>
<tr>
<td><a style="color:#0000FF" href="#Gateway.__init__">Gateway</a></td>
<td>Erweitert RevPiDevice um reg_*-Funktionen.</td>
</tr><tr>
<td><a style="color:#0000FF" href="#Gateway.get_rawbytes">get_rawbytes</a></td>
<td>Gibt die Bytes aus, die dieses Device verwendet.</td>
</tr>
</table>
<h3 style="background-color:#FFFFFF;color:#FF0000">
Static Methods</h3>
<table>
<tr><td>None</td></tr>
</table>
<a NAME="Gateway.__init__" ID="Gateway.__init__"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
Gateway (Constructor)</h3>
<b>Gateway</b>(<i>parent, dict_device, **kwargs</i>)
<p>
Erweitert RevPiDevice um reg_*-Funktionen.
</p><dl>
<dt><b>See Also:</b></dt>
<dd>
<a style="color:#0000FF" href="#RevPiDevice.__init__">RevPiDevice.__init__(...)</a>
</dd>
</dl><a NAME="Gateway.get_rawbytes" ID="Gateway.get_rawbytes"></a>
<h3 style="background-color:#FFFFFF;color:#FF0000">
Gateway.get_rawbytes</h3>
<b>get_rawbytes</b>(<i></i>)
<p>
Gibt die Bytes aus, die dieses Device verwendet.
</p><dl>
<dt>Returns:</dt>
<dd>
bytes() des Devices
</dd>
</dl>
<div align="right"><a style="color:#0000FF" href="#top">Up</a></div>
<hr /><hr />
<a NAME="Virtual" ID="Virtual"></a>
<h2 style="background-color:#FFFFFF;color:#0000FF">Virtual</h2>
<p>
Klasse fuer die RevPi Virtual-Devices.
</p><p>
Stellt die selben Funktionen wie RevPiGateway zur Verfuegung. Es koennen
ueber die reg_*-Funktionen eigene IOs definiert werden, die ein
RevPiStructIO-Objekt abbilden.
Dieser IO-Typ kann Werte ueber mehrere Bytes verarbeiten und zurueckgeben.
</p><dl>
<dt><b>See Also:</b></dt>
<dd>
<a style="color:#0000FF" href="#RevPiGateway">RevPiGateway</a>
</dd>
</dl>
<h3 style="background-color:#FFFFFF;color:#FF0000">
Derived from</h3>
Gateway
<h3 style="background-color:#FFFFFF;color:#FF0000">
Class Attributes</h3>
<table>
<tr><td>None</td></tr>
</table>
<h3 style="background-color:#FFFFFF;color:#FF0000">
Class Methods</h3>
<table>
<tr><td>None</td></tr>
</table>
<h3 style="background-color:#FFFFFF;color:#FF0000">
Methods</h3>
<table>
<tr><td>None</td></tr>
</table>
<h3 style="background-color:#FFFFFF;color:#FF0000">
Static Methods</h3>
<table>
<tr><td>None</td></tr>
</table>
<div align="right"><a style="color:#0000FF" href="#top">Up</a></div>
<hr />
</body></html>