mirror of
https://github.com/naruxde/revpimodio2.git
synced 2025-11-08 13:53:53 +01:00
Verbesserung in LED_BYTE-Berechnung
Byteorder für Core-Funktionen fest auf "little" gesetzt Connect-Klasse von Core abgeleitet A3 zur Connect Klasse hinzugefügt
This commit is contained in:
@@ -18,6 +18,9 @@ Global Attributes</h3>
|
||||
Classes</h3>
|
||||
<table>
|
||||
<tr>
|
||||
<td><a style="color:#0000FF" href="#Connect">Connect</a></td>
|
||||
<td>Klasse fuer den RevPi Connect.</td>
|
||||
</tr><tr>
|
||||
<td><a style="color:#0000FF" href="#Core">Core</a></td>
|
||||
<td>Klasse fuer den RevPi Core.</td>
|
||||
</tr><tr>
|
||||
@@ -40,6 +43,78 @@ Functions</h3>
|
||||
<tr><td>None</td></tr>
|
||||
</table>
|
||||
<hr /><hr />
|
||||
<a NAME="Connect" ID="Connect"></a>
|
||||
<h2 style="background-color:#FFFFFF;color:#0000FF">Connect</h2>
|
||||
<p>
|
||||
Klasse fuer den RevPi Connect.
|
||||
</p><p>
|
||||
Stellt Funktionen fuer die LEDs, Watchdog und den Status zur Verfuegung.
|
||||
</p><p>
|
||||
|
||||
</p>
|
||||
<h3 style="background-color:#FFFFFF;color:#FF0000">
|
||||
Derived from</h3>
|
||||
Core
|
||||
<h3 style="background-color:#FFFFFF;color:#FF0000">
|
||||
Class Attributes</h3>
|
||||
<table>
|
||||
<tr><td>A3</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="#Connect._devconfigure">_devconfigure</a></td>
|
||||
<td>Connect-Klasse vorbereiten.</td>
|
||||
</tr><tr>
|
||||
<td><a style="color:#0000FF" href="#Connect._get_leda3">_get_leda3</a></td>
|
||||
<td>Gibt den Zustand der LED A3 vom Connect zurueck.</td>
|
||||
</tr><tr>
|
||||
<td><a style="color:#0000FF" href="#Connect._set_leda3">_set_leda3</a></td>
|
||||
<td>Setzt den Zustand der LED A3 vom Connect.</td>
|
||||
</tr>
|
||||
</table>
|
||||
<h3 style="background-color:#FFFFFF;color:#FF0000">
|
||||
Static Methods</h3>
|
||||
<table>
|
||||
<tr><td>None</td></tr>
|
||||
</table>
|
||||
<a NAME="Connect._devconfigure" ID="Connect._devconfigure"></a>
|
||||
<h3 style="background-color:#FFFFFF;color:#FF0000">
|
||||
Connect._devconfigure</h3>
|
||||
<b>_devconfigure</b>(<i></i>)
|
||||
<p>
|
||||
Connect-Klasse vorbereiten.
|
||||
</p><a NAME="Connect._get_leda3" ID="Connect._get_leda3"></a>
|
||||
<h3 style="background-color:#FFFFFF;color:#FF0000">
|
||||
Connect._get_leda3</h3>
|
||||
<b>_get_leda3</b>(<i></i>)
|
||||
<p>
|
||||
Gibt den Zustand der LED A3 vom Connect zurueck.
|
||||
</p><dl>
|
||||
<dt>Returns:</dt>
|
||||
<dd>
|
||||
0=aus, 1=gruen, 2=rot
|
||||
</dd>
|
||||
</dl><a NAME="Connect._set_leda3" ID="Connect._set_leda3"></a>
|
||||
<h3 style="background-color:#FFFFFF;color:#FF0000">
|
||||
Connect._set_leda3</h3>
|
||||
<b>_set_leda3</b>(<i>value</i>)
|
||||
<p>
|
||||
Setzt den Zustand der LED A3 vom Connect.
|
||||
</p><dl>
|
||||
<dt><i>value</i></dt>
|
||||
<dd>
|
||||
0=aus, 1=gruen, 2=rot
|
||||
</dd>
|
||||
</dl>
|
||||
<div align="right"><a style="color:#0000FF" href="#top">Up</a></div>
|
||||
<hr /><hr />
|
||||
<a NAME="Core" ID="Core"></a>
|
||||
<h2 style="background-color:#FFFFFF;color:#0000FF">Core</h2>
|
||||
<p>
|
||||
@@ -73,19 +148,22 @@ Methods</h3>
|
||||
<td>Core-Klasse vorbereiten.</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>
|
||||
<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>
|
||||
<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._set_calculatedled">_set_calculatedled</a></td>
|
||||
<td>Berechnet und setzt neuen Bytewert fuer LED byte.</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>
|
||||
<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>
|
||||
<td>Setzt den Zustand der LED A2 vom Core.</td>
|
||||
</tr><tr>
|
||||
<td><a style="color:#0000FF" href="#Core.errorlimit1">errorlimit1</a></td>
|
||||
<td>Setzt RS485 ErrorLimit1 auf neuen Wert.</td>
|
||||
@@ -156,7 +234,7 @@ Core-Klasse vorbereiten.
|
||||
Core._get_leda1</h3>
|
||||
<b>_get_leda1</b>(<i></i>)
|
||||
<p>
|
||||
Gibt den Zustand der LED A1 vom core zurueck.
|
||||
Gibt den Zustand der LED A1 vom Core zurueck.
|
||||
</p><dl>
|
||||
<dt>Returns:</dt>
|
||||
<dd>
|
||||
@@ -167,7 +245,7 @@ Gibt den Zustand der LED A1 vom core zurueck.
|
||||
Core._get_leda2</h3>
|
||||
<b>_get_leda2</b>(<i></i>)
|
||||
<p>
|
||||
Gibt den Zustand der LED A2 vom core zurueck.
|
||||
Gibt den Zustand der LED A2 vom Core zurueck.
|
||||
</p><dl>
|
||||
<dt>Returns:</dt>
|
||||
<dd>
|
||||
@@ -184,12 +262,26 @@ Gibt den RevPi Core Status zurueck.
|
||||
<dd>
|
||||
Status als <class 'int'>
|
||||
</dd>
|
||||
</dl><a NAME="Core._set_calculatedled" ID="Core._set_calculatedled"></a>
|
||||
<h3 style="background-color:#FFFFFF;color:#FF0000">
|
||||
Core._set_calculatedled</h3>
|
||||
<b>_set_calculatedled</b>(<i>addresslist, shifted_value</i>)
|
||||
<p>
|
||||
Berechnet und setzt neuen Bytewert fuer LED byte.
|
||||
</p><dl>
|
||||
<dt><i>addresslist</i></dt>
|
||||
<dd>
|
||||
Liste der Vergleicher
|
||||
</dd><dt><i>shifed_value</i></dt>
|
||||
<dd>
|
||||
Bits vergleichen
|
||||
</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.
|
||||
Setzt den Zustand der LED A1 vom Core.
|
||||
</p><dl>
|
||||
<dt><i>value</i></dt>
|
||||
<dd>
|
||||
@@ -200,7 +292,7 @@ Setzt den Zustand der LED A1 vom core.
|
||||
Core._set_leda2</h3>
|
||||
<b>_set_leda2</b>(<i>value</i>)
|
||||
<p>
|
||||
Setzt den Zustand der LED A2 vom core.
|
||||
Setzt den Zustand der LED A2 vom Core.
|
||||
</p><dl>
|
||||
<dt><i>value</i></dt>
|
||||
<dd>
|
||||
|
||||
@@ -128,7 +128,15 @@ NetFH (Constructor)</h3>
|
||||
<b>NetFH</b>(<i>address, timeout=500</i>)
|
||||
<p>
|
||||
Init NetFH-class.
|
||||
</p><a NAME="NetFH.__del__" ID="NetFH.__del__"></a>
|
||||
</p><dl>
|
||||
<dt><i>address</i></dt>
|
||||
<dd>
|
||||
IP Adresse des RevPi
|
||||
</dd><dt><i>timeout</i></dt>
|
||||
<dd>
|
||||
Timeout in Millisekunden der Verbindung
|
||||
</dd>
|
||||
</dl><a NAME="NetFH.__del__" ID="NetFH.__del__"></a>
|
||||
<h3 style="background-color:#FFFFFF;color:#FF0000">
|
||||
NetFH.__del__</h3>
|
||||
<b>__del__</b>(<i></i>)
|
||||
|
||||
@@ -9,12 +9,17 @@ revpimodio2.RED?7
|
||||
revpimodio2.RISING?7
|
||||
revpimodio2.app.App?1(app)
|
||||
revpimodio2.consttostr?4(value)
|
||||
revpimodio2.device.Connect.A3?7
|
||||
revpimodio2.device.Connect._devconfigure?5()
|
||||
revpimodio2.device.Connect._get_leda3?5()
|
||||
revpimodio2.device.Connect._set_leda3?5(value)
|
||||
revpimodio2.device.Core.A1?7
|
||||
revpimodio2.device.Core.A2?7
|
||||
revpimodio2.device.Core._devconfigure?5()
|
||||
revpimodio2.device.Core._get_leda1?5()
|
||||
revpimodio2.device.Core._get_leda2?5()
|
||||
revpimodio2.device.Core._get_status?5()
|
||||
revpimodio2.device.Core._set_calculatedled?5(addresslist, shifted_value)
|
||||
revpimodio2.device.Core._set_leda1?5(value)
|
||||
revpimodio2.device.Core._set_leda2?5(value)
|
||||
revpimodio2.device.Core.errorlimit1?4(value)
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
Connect Core
|
||||
Core Device
|
||||
EventCallback Thread
|
||||
Gateway Device
|
||||
|
||||
@@ -246,6 +246,7 @@ class Device(object):
|
||||
self, dict_io[key],
|
||||
iotype,
|
||||
"little",
|
||||
# Bei AIO (103) signed auf True setzen
|
||||
self._producttype == 103
|
||||
)
|
||||
|
||||
@@ -421,7 +422,7 @@ class Core(Device):
|
||||
self._ioerrorlimit1 = 4
|
||||
self._ioerrorlimit2 = 5
|
||||
elif int_lenio == 8:
|
||||
# core 1.2
|
||||
# Core 1.2
|
||||
self._iocycle = 1
|
||||
self._ioerrorcnt = 2
|
||||
self._iotemperature = 3
|
||||
@@ -449,14 +450,13 @@ class Core(Device):
|
||||
@return Aktuellen ErrorLimit oder None wenn nicht verfuegbar"""
|
||||
if errorlimit is None:
|
||||
return None if io_id is None else int.from_bytes(
|
||||
self.__lst_io[io_id].get_value(),
|
||||
byteorder=self.__lst_io[io_id]._byteorder
|
||||
self.__lst_io[io_id].get_value(), byteorder="little"
|
||||
)
|
||||
else:
|
||||
if 0 <= errorlimit <= 65535:
|
||||
self.__lst_io[io_id].set_value(errorlimit.to_bytes(
|
||||
2, byteorder=self.__lst_io[io_id]._byteorder
|
||||
))
|
||||
self.__lst_io[io_id].set_value(
|
||||
errorlimit.to_bytes(2, byteorder="little")
|
||||
)
|
||||
else:
|
||||
raise ValueError(
|
||||
"errorlimit value must be between 0 and 65535"
|
||||
@@ -466,50 +466,65 @@ class Core(Device):
|
||||
"""Gibt den RevPi Core Status zurueck.
|
||||
@return Status als <class 'int'>"""
|
||||
return int.from_bytes(
|
||||
self.__lst_io[0].get_value(), byteorder=self.__lst_io[0]._byteorder
|
||||
self.__lst_io[0].get_value(), byteorder="little"
|
||||
)
|
||||
|
||||
def _get_leda1(self):
|
||||
"""Gibt den Zustand der LED A1 vom core zurueck.
|
||||
"""Gibt den Zustand der LED A1 vom Core zurueck.
|
||||
@return 0=aus, 1=gruen, 2=rot"""
|
||||
int_led = int.from_bytes(
|
||||
self.__lst_io[self._ioled].get_value(),
|
||||
byteorder=self.__lst_io[self._ioled]._byteorder
|
||||
self.__lst_io[self._ioled].get_value(), byteorder="little"
|
||||
)
|
||||
led = int_led & 1
|
||||
led += int_led & 2
|
||||
return led
|
||||
|
||||
def _get_leda2(self):
|
||||
"""Gibt den Zustand der LED A2 vom core zurueck.
|
||||
"""Gibt den Zustand der LED A2 vom Core zurueck.
|
||||
@return 0=aus, 1=gruen, 2=rot"""
|
||||
int_led = int.from_bytes(
|
||||
self.__lst_io[self._ioled].get_value(),
|
||||
byteorder=self.__lst_io[self._ioled]._byteorder
|
||||
self.__lst_io[self._ioled].get_value(), byteorder="little"
|
||||
) >> 2
|
||||
led = int_led & 1
|
||||
led += int_led & 2
|
||||
return led
|
||||
|
||||
def _set_calculatedled(self, addresslist, shifted_value):
|
||||
"""Berechnet und setzt neuen Bytewert fuer LED byte.
|
||||
@param addresslist Liste der Vergleicher
|
||||
@param shifed_value Bits vergleichen"""
|
||||
# Byte als int holen
|
||||
int_led = int.from_bytes(
|
||||
self.__lst_io[self._ioled].get_value(), byteorder="little"
|
||||
)
|
||||
|
||||
for int_bit in addresslist:
|
||||
value = bool(shifted_value & int_bit)
|
||||
if bool(int_led & 1) != value:
|
||||
# Berechnen, wenn verändert
|
||||
if value:
|
||||
int_led += int_bit
|
||||
else:
|
||||
int_led -= int_bit
|
||||
|
||||
# Zurückschreiben wenn verändert
|
||||
self.__lst_io[self._ioled].set_value(
|
||||
int_led.to_bytes(length=1, byteorder="little")
|
||||
)
|
||||
|
||||
def _set_leda1(self, value):
|
||||
"""Setzt den Zustand der LED A1 vom core.
|
||||
"""Setzt den Zustand der LED A1 vom Core.
|
||||
@param value 0=aus, 1=gruen, 2=rot"""
|
||||
if 0 <= value <= 3:
|
||||
int_led = (self._get_leda2() << 2) + value
|
||||
self.__lst_io[self._ioled].set_value(int_led.to_bytes(
|
||||
length=1, byteorder=self.__lst_io[self._ioled]._byteorder
|
||||
))
|
||||
self._set_calculatedled([1, 2], value)
|
||||
else:
|
||||
raise ValueError("led status must be between 0 and 3")
|
||||
|
||||
def _set_leda2(self, value):
|
||||
"""Setzt den Zustand der LED A2 vom core.
|
||||
"""Setzt den Zustand der LED A2 vom Core.
|
||||
@param value 0=aus, 1=gruen, 2=rot"""
|
||||
if 0 <= value <= 3:
|
||||
int_led = (value << 2) + self._get_leda1()
|
||||
self.__lst_io[self._ioled].set_value(int_led.to_bytes(
|
||||
length=1, byteorder=self.__lst_io[self._ioled]._byteorder
|
||||
))
|
||||
self._set_calculatedled([4, 8], value << 2)
|
||||
else:
|
||||
raise ValueError("led status must be between 0 and 3")
|
||||
|
||||
@@ -522,8 +537,7 @@ class Core(Device):
|
||||
"""Statusbit fuer piControl-Treiber laeuft.
|
||||
@return True, wenn Treiber laeuft"""
|
||||
return bool(int.from_bytes(
|
||||
self.__lst_io[0].get_value(),
|
||||
byteorder=self.__lst_io[0]._byteorder
|
||||
self.__lst_io[0].get_value(), byteorder="little"
|
||||
) & 1)
|
||||
|
||||
@property
|
||||
@@ -531,8 +545,7 @@ class Core(Device):
|
||||
"""Statusbit fuer ein IO-Modul nicht mit PiCtory konfiguriert.
|
||||
@return True, wenn IO Modul nicht konfiguriert"""
|
||||
return bool(int.from_bytes(
|
||||
self.__lst_io[0].get_value(),
|
||||
byteorder=self.__lst_io[0]._byteorder
|
||||
self.__lst_io[0].get_value(), byteorder="little"
|
||||
) & 2)
|
||||
|
||||
@property
|
||||
@@ -540,8 +553,7 @@ class Core(Device):
|
||||
"""Statusbit fuer ein IO-Modul fehlt oder piGate konfiguriert.
|
||||
@return True, wenn IO-Modul fehlt oder piGate konfiguriert"""
|
||||
return bool(int.from_bytes(
|
||||
self.__lst_io[0].get_value(),
|
||||
byteorder=self.__lst_io[0]._byteorder
|
||||
self.__lst_io[0].get_value(), byteorder="little"
|
||||
) & 4)
|
||||
|
||||
@property
|
||||
@@ -549,8 +561,7 @@ class Core(Device):
|
||||
"""Statusbit Modul belegt mehr oder weniger Speicher als konfiguriert.
|
||||
@return True, wenn falscher Speicher belegt ist"""
|
||||
return bool(int.from_bytes(
|
||||
self.__lst_io[0].get_value(),
|
||||
byteorder=self.__lst_io[0]._byteorder
|
||||
self.__lst_io[0].get_value(), byteorder="little"
|
||||
) & 8)
|
||||
|
||||
@property
|
||||
@@ -558,8 +569,7 @@ class Core(Device):
|
||||
"""Statusbit links vom RevPi ist ein piGate Modul angeschlossen.
|
||||
@return True, wenn piGate links existiert"""
|
||||
return bool(int.from_bytes(
|
||||
self.__lst_io[0].get_value(),
|
||||
byteorder=self.__lst_io[0]._byteorder
|
||||
self.__lst_io[0].get_value(), byteorder="little"
|
||||
) & 16)
|
||||
|
||||
@property
|
||||
@@ -567,8 +577,7 @@ class Core(Device):
|
||||
"""Statusbit rechts vom RevPi ist ein piGate Modul angeschlossen.
|
||||
@return True, wenn piGate rechts existiert"""
|
||||
return bool(int.from_bytes(
|
||||
self.__lst_io[0].get_value(),
|
||||
byteorder=self.__lst_io[0]._byteorder
|
||||
self.__lst_io[0].get_value(), byteorder="little"
|
||||
) & 32)
|
||||
|
||||
@property
|
||||
@@ -576,8 +585,7 @@ class Core(Device):
|
||||
"""Gibt Zykluszeit der Prozessabbildsynchronisierung zurueck.
|
||||
@return Zykluszeit in ms"""
|
||||
return None if self._iocycle is None else int.from_bytes(
|
||||
self.__lst_io[self._iocycle].get_value(),
|
||||
byteorder=self.__lst_io[self._iocycle]._byteorder
|
||||
self.__lst_io[self._iocycle].get_value(), byteorder="little"
|
||||
)
|
||||
|
||||
@property
|
||||
@@ -585,8 +593,7 @@ class Core(Device):
|
||||
"""Gibt CPU-Temperatur zurueck.
|
||||
@return CPU-Temperatur in Celsius"""
|
||||
return None if self._iotemperature is None else int.from_bytes(
|
||||
self.__lst_io[self._iotemperature].get_value(),
|
||||
byteorder=self.__lst_io[self._iotemperature]._byteorder
|
||||
self.__lst_io[self._iotemperature].get_value(), byteorder="little"
|
||||
)
|
||||
|
||||
@property
|
||||
@@ -594,8 +601,7 @@ class Core(Device):
|
||||
"""Gibt CPU Taktfrequenz zurueck.
|
||||
@return CPU Taktfrequenz in MHz"""
|
||||
return None if self._iofrequency is None else int.from_bytes(
|
||||
self.__lst_io[self._iofrequency].get_value(),
|
||||
byteorder=self.__lst_io[self._iofrequency]._byteorder
|
||||
self.__lst_io[self._iofrequency].get_value(), byteorder="little"
|
||||
) * 10
|
||||
|
||||
@property
|
||||
@@ -603,8 +609,7 @@ class Core(Device):
|
||||
"""Gibt Fehleranzahl auf RS485 piBridge Bus zurueck.
|
||||
@return Fehleranzahl der piBridge"""
|
||||
return None if self._ioerrorcnt is None else int.from_bytes(
|
||||
self.__lst_io[self._ioerrorcnt].get_value(),
|
||||
byteorder=self.__lst_io[self._ioerrorcnt]._byteorder
|
||||
self.__lst_io[self._ioerrorcnt].get_value(), byteorder="little"
|
||||
)
|
||||
|
||||
@property
|
||||
@@ -632,6 +637,79 @@ class Core(Device):
|
||||
self.__errorlimit(self._ioerrorlimit2, value)
|
||||
|
||||
|
||||
class Connect(Core):
|
||||
|
||||
"""Klasse fuer den RevPi Connect.
|
||||
|
||||
Stellt Funktionen fuer die LEDs, Watchdog und den Status zur Verfuegung.
|
||||
|
||||
"""
|
||||
|
||||
def _devconfigure(self):
|
||||
"""Connect-Klasse vorbereiten."""
|
||||
super()._devconfigure()
|
||||
|
||||
# TODO: IO Objekte für WD und X2 erzeugen
|
||||
self.wd = None
|
||||
self.x2in = None
|
||||
self.x2out = None
|
||||
|
||||
def _get_leda3(self):
|
||||
"""Gibt den Zustand der LED A3 vom Connect zurueck.
|
||||
@return 0=aus, 1=gruen, 2=rot"""
|
||||
int_led = int.from_bytes(
|
||||
self.__lst_io[self._ioled].get_value(), byteorder="little"
|
||||
) >> 4
|
||||
led = int_led & 1
|
||||
led += int_led & 2
|
||||
return led
|
||||
|
||||
# def _get_wd(self):
|
||||
# """Gibt den Zustand des Watchdogs vom Connect zurueck.
|
||||
# @return True / False muss getriggert werden"""
|
||||
# int_led = int.from_bytes(
|
||||
# self.__lst_io[self._ioled].get_value(), byteorder="little"
|
||||
# )
|
||||
# return bool(int_led & 64)
|
||||
#
|
||||
# def _get_x2out(self):
|
||||
# """Gibt den Zustand des Relais X2 vom Connect zurueck.
|
||||
# @return True, wenn Relais geschlossen"""
|
||||
# int_led = int.from_bytes(
|
||||
# self.__lst_io[self._ioled].get_value(), byteorder="little"
|
||||
# )
|
||||
# return bool(int_led & 128)
|
||||
|
||||
def _set_leda3(self, value):
|
||||
"""Setzt den Zustand der LED A3 vom Connect.
|
||||
@param value 0=aus, 1=gruen, 2=rot"""
|
||||
if 0 <= value <= 3:
|
||||
self._set_calculatedled([16, 32], value << 4)
|
||||
else:
|
||||
raise ValueError("led status must be between 0 and 3")
|
||||
|
||||
# def _set_wd(self, value):
|
||||
# """Setzt den Zustand des Watchdogs vom Connect.
|
||||
# @param value True / False muss getriggert werden"""
|
||||
# if isinstance(value, bool):
|
||||
# self._set_calculatedled([128], 128)
|
||||
# else:
|
||||
# raise ValueError("value must be True / False")
|
||||
#
|
||||
# def _set_x2out(self, value):
|
||||
# """Setzt den Zustand des Watchdogs vom Connect.
|
||||
# @param value True / False muss getriggert werden"""
|
||||
# if isinstance(value, bool):
|
||||
# self._set_calculatedled([64], 64)
|
||||
# else:
|
||||
# raise ValueError("value must be True / False")
|
||||
|
||||
A3 = property(_get_leda3, _set_leda3)
|
||||
# WD = property(_get_wd, _set_wd)
|
||||
# X2IN = property(_get_x2in)
|
||||
# X2OUT = property(_get_x2out, _set_x2out)
|
||||
|
||||
|
||||
class Gateway(Device):
|
||||
|
||||
"""Klasse fuer die RevPi Gateway-Devices.
|
||||
|
||||
@@ -150,10 +150,17 @@ class RevPiModIO(object):
|
||||
device["position"] += 1
|
||||
|
||||
if device["type"] == "BASE":
|
||||
# Core
|
||||
dev_new = devicemodule.Core(
|
||||
self, device, simulator=self._simulator
|
||||
)
|
||||
pt = int(device["productType"])
|
||||
if pt == 105:
|
||||
# RevPi Connect
|
||||
dev_new = devicemodule.Connect(
|
||||
self, device, simulator=self._simulator
|
||||
)
|
||||
else:
|
||||
# RevPi Core immer als Fallback verwenden
|
||||
dev_new = devicemodule.Core(
|
||||
self, device, simulator=self._simulator
|
||||
)
|
||||
self.core = dev_new
|
||||
elif device["type"] == "LEFT_RIGHT":
|
||||
# IOs
|
||||
|
||||
Reference in New Issue
Block a user