diff --git a/doc/revpimodio2.__init__.html b/doc/revpimodio2.__init__.html
index 6441740..1554d3c 100644
--- a/doc/revpimodio2.__init__.html
+++ b/doc/revpimodio2.__init__.html
@@ -27,7 +27,10 @@ Global Attributes
Classes
Functions
@@ -41,6 +44,37 @@ Functions
+
+DeviceNotFoundError
+
+Fehler wenn ein Device nicht gefunden wird.
+
+
+Derived from
+Exception
+
+Class Attributes
+
+
+Class Methods
+
+
+Methods
+
+
+Static Methods
+
+
+
+
acheck
acheck(check_type, **kwargs)
diff --git a/doc/revpimodio2.modio.html b/doc/revpimodio2.modio.html
index 2841f45..343aee3 100644
--- a/doc/revpimodio2.modio.html
+++ b/doc/revpimodio2.modio.html
@@ -54,7 +54,7 @@ object
Class Attributes
-| __slots__ |
| configrsc |
| cycletime |
| ioerrors |
| length |
| maxioerrors |
| monitoring |
| procimg |
| simulator |
+| __slots__ |
| configrsc |
| cycletime |
| debug |
| ioerrors |
| length |
| maxioerrors |
| monitoring |
| procimg |
| replace_io_file |
| simulator |
Class Methods
@@ -89,6 +89,9 @@ Methods
_get_cycletime |
Gibt Aktualisierungsrate in ms der Prozessabbildsynchronisierung aus. |
+| _get_debug |
+Gibt Status des Debugflags zurueck. |
+
| _get_ioerrors |
Getter function. |
@@ -104,6 +107,9 @@ Methods
| _get_procimg |
Getter function. |
+| _get_replace_io_file |
+Gibt Pfad zur verwendeten replace IO Datei aus. |
+
| _get_simulator |
Getter function. |
@@ -260,6 +266,17 @@ Gibt Aktualisierungsrate in ms der Prozessabbildsynchronisierung aus.
Millisekunden
+
+
+RevPiModIO._get_debug
+_get_debug()
+
+Gibt Status des Debugflags zurueck.
+
+- Returns:
+-
+Status des Debugflags
+
RevPiModIO._get_ioerrors
@@ -315,6 +332,17 @@ Getter function.
Pfad des verwendeten Prozessabbilds
+
+
+RevPiModIO._get_replace_io_file
+_get_replace_io_file()
+
+Gibt Pfad zur verwendeten replace IO Datei aus.
+
+- Returns:
+-
+Pfad zur replace IO Datei
+
RevPiModIO._get_simulator
diff --git a/eric-revpimodio2.api b/eric-revpimodio2.api
index 270362a..889636a 100644
--- a/eric-revpimodio2.api
+++ b/eric-revpimodio2.api
@@ -145,11 +145,13 @@ revpimodio2.modio.RevPiModIO._configure_replace_io?5()
revpimodio2.modio.RevPiModIO._create_myfh?5()
revpimodio2.modio.RevPiModIO._get_configrsc?5()
revpimodio2.modio.RevPiModIO._get_cycletime?5()
+revpimodio2.modio.RevPiModIO._get_debug?5()
revpimodio2.modio.RevPiModIO._get_ioerrors?5()
revpimodio2.modio.RevPiModIO._get_length?5()
revpimodio2.modio.RevPiModIO._get_maxioerrors?5()
revpimodio2.modio.RevPiModIO._get_monitoring?5()
revpimodio2.modio.RevPiModIO._get_procimg?5()
+revpimodio2.modio.RevPiModIO._get_replace_io_file?5()
revpimodio2.modio.RevPiModIO._get_simulator?5()
revpimodio2.modio.RevPiModIO._gotioerror?5(action, e=None)
revpimodio2.modio.RevPiModIO._set_cycletime?5(milliseconds)
@@ -159,6 +161,7 @@ revpimodio2.modio.RevPiModIO.cleanup?4()
revpimodio2.modio.RevPiModIO.configrsc?7
revpimodio2.modio.RevPiModIO.cycleloop?4(func, cycletime=50)
revpimodio2.modio.RevPiModIO.cycletime?7
+revpimodio2.modio.RevPiModIO.debug?7
revpimodio2.modio.RevPiModIO.exit?4(full=True)
revpimodio2.modio.RevPiModIO.export_replaced_ios?4(filename)
revpimodio2.modio.RevPiModIO.get_jconfigrsc?4()
@@ -170,6 +173,7 @@ revpimodio2.modio.RevPiModIO.maxioerrors?7
revpimodio2.modio.RevPiModIO.monitoring?7
revpimodio2.modio.RevPiModIO.procimg?7
revpimodio2.modio.RevPiModIO.readprocimg?4(device=None)
+revpimodio2.modio.RevPiModIO.replace_io_file?7
revpimodio2.modio.RevPiModIO.resetioerrors?4()
revpimodio2.modio.RevPiModIO.setdefaultvalues?4(device=None)
revpimodio2.modio.RevPiModIO.simulator?7
diff --git a/eric-revpimodio2.bas b/eric-revpimodio2.bas
index 56a0c5e..3eda7c3 100644
--- a/eric-revpimodio2.bas
+++ b/eric-revpimodio2.bas
@@ -1,6 +1,7 @@
Base Device
Connect Core
Core Base
+DeviceNotFoundError Exception
DioModule Device
EventCallback Thread
Gateway Device
diff --git a/revpimodio2/__init__.py b/revpimodio2/__init__.py
index 26c7636..3b8c1e2 100644
--- a/revpimodio2/__init__.py
+++ b/revpimodio2/__init__.py
@@ -38,6 +38,13 @@ MEM = 302
warnings.simplefilter(action="always")
+class DeviceNotFoundError(Exception):
+
+ """Fehler wenn ein Device nicht gefunden wird."""
+
+ pass
+
+
def acheck(check_type, **kwargs):
"""Check type of given arguments.
diff --git a/revpimodio2/modio.py b/revpimodio2/modio.py
index 589d297..d08544c 100644
--- a/revpimodio2/modio.py
+++ b/revpimodio2/modio.py
@@ -10,7 +10,7 @@ from json import load as jload
from multiprocessing import cpu_count
from os import access, F_OK, R_OK
from queue import Empty
-from revpimodio2 import acheck
+from revpimodio2 import acheck, DeviceNotFoundError
from signal import signal, SIG_DFL, SIGINT, SIGTERM
from threading import Thread, Event, Lock
from timeit import default_timer
@@ -368,9 +368,7 @@ class RevPiModIO(object):
except Exception as e:
raise RuntimeError(
"replace_io_file: can not replace '{0}' with '{1}' "
- "| RevPiModIO message: {2}".format(
- parentio, io, e
- )
+ "| RevPiModIO message: {2}".format(parentio, io, e)
)
def _create_myfh(self):
@@ -389,6 +387,11 @@ class RevPiModIO(object):
@return Millisekunden"""
return self._imgwriter.refresh
+ def _get_debug(self):
+ """Gibt Status des Debugflags zurueck.
+ @return Status des Debugflags"""
+ return self._debug
+
def _get_ioerrors(self):
"""Getter function.
@return Aktuelle Anzahl gezaehlter Fehler"""
@@ -417,6 +420,11 @@ class RevPiModIO(object):
@return Pfad des verwendeten Prozessabbilds"""
return self._procimg
+ def _get_replace_io_file(self):
+ """Gibt Pfad zur verwendeten replace IO Datei aus.
+ @return Pfad zur replace IO Datei"""
+ return self._replace_io_file
+
def _get_simulator(self):
"""Getter function.
@return True, wenn als Simulator gestartet"""
@@ -992,6 +1000,7 @@ class RevPiModIO(object):
return workokay
+ debug = property(_get_debug)
configrsc = property(_get_configrsc)
cycletime = property(_get_cycletime, _set_cycletime)
ioerrors = property(_get_ioerrors)
@@ -999,6 +1008,7 @@ class RevPiModIO(object):
maxioerrors = property(_get_maxioerrors, _set_maxioerrors)
monitoring = property(_get_monitoring)
procimg = property(_get_procimg)
+ replace_io_file = property(_get_replace_io_file)
simulator = property(_get_simulator)
@@ -1052,20 +1062,20 @@ class RevPiModIOSelected(RevPiModIO):
if len(self.device) == 0:
if type(self) == RevPiModIODriver:
- raise RuntimeError(
+ raise DeviceNotFoundError(
"could not find any given VIRTUAL devices in config"
)
else:
- raise RuntimeError(
+ raise DeviceNotFoundError(
"could not find any given devices in config"
)
elif len(self.device) != len(self._lst_devselect):
if type(self) == RevPiModIODriver:
- raise RuntimeError(
+ raise DeviceNotFoundError(
"could not find all given VIRTUAL devices in config"
)
else:
- raise RuntimeError(
+ raise DeviceNotFoundError(
"could not find all given devices in config"
)
diff --git a/revpimodio2/netio.py b/revpimodio2/netio.py
index d8c899f..8db2607 100644
--- a/revpimodio2/netio.py
+++ b/revpimodio2/netio.py
@@ -3,11 +3,11 @@
__author__ = "Sven Sager"
__copyright__ = "Copyright (C) 2018 Sven Sager"
__license__ = "LGPLv3"
-
import socket
import warnings
from json import loads as jloads
from re import compile
+from revpimodio2 import DeviceNotFoundError
from threading import Thread, Event, Lock
from .device import Device
@@ -696,20 +696,20 @@ class RevPiNetIOSelected(RevPiNetIO):
if len(self.device) == 0:
if type(self) == RevPiNetIODriver:
- raise RuntimeError(
+ raise DeviceNotFoundError(
"could not find any given VIRTUAL devices in config"
)
else:
- raise RuntimeError(
+ raise DeviceNotFoundError(
"could not find any given devices in config"
)
elif len(self.device) != len(self._lst_devselect):
if type(self) == RevPiNetIODriver:
- raise RuntimeError(
+ raise DeviceNotFoundError(
"could not find all given VIRTUAL devices in config"
)
else:
- raise RuntimeError(
+ raise DeviceNotFoundError(
"could not find all given devices in config"
)