diff --git a/src/revpimodio2/device.py b/src/revpimodio2/device.py index f2089e1..63a690b 100644 --- a/src/revpimodio2/device.py +++ b/src/revpimodio2/device.py @@ -156,7 +156,6 @@ class Device(object): self._selfupdate = False self._shared_procimg = False self._shared_write = set() - self.shared_procimg(parentmodio._shared_procimg) # Set with register # Wertzuweisung aus dict_device self._name = dict_device.get("name") diff --git a/src/revpimodio2/modio.py b/src/revpimodio2/modio.py index 67a8fee..fbe7bfb 100644 --- a/src/revpimodio2/modio.py +++ b/src/revpimodio2/modio.py @@ -71,7 +71,7 @@ class RevPiModIO(object): "_length", "_looprunning", "_lst_devselect", "_lst_refresh", \ "_maxioerrors", "_monitoring", "_myfh", "_myfh_lck", \ "_procimg", "_replace_io_file", "_run_on_pi", \ - "_set_device_based_cycle_time", "_simulator", "_shared_procimg", \ + "_set_device_based_cycle_time", "_simulator", "_init_shared_procimg", \ "_syncoutputs", "_th_mainloop", "_waitexit", \ "app", "core", "device", "exitsignal", "io", "summary" @@ -117,7 +117,7 @@ class RevPiModIO(object): self._procimg = "/dev/piControl0" if procimg is None else procimg self._set_device_based_cycle_time = True self._simulator = simulator - self._shared_procimg = shared_procimg or direct_output + self._init_shared_procimg = shared_procimg or direct_output self._syncoutputs = syncoutputs # TODO: bei simulator und procimg prüfen ob datei existiert / anlegen? @@ -363,6 +363,9 @@ class RevPiModIO(object): err_names_check[dev_new.name] = [] err_names_check[dev_new.name].append(str(dev_new.position)) + # Set shared_procimg mode, if requested on instantiation + dev_new.shared_procimg(self._init_shared_procimg) + # DeviceList für direkten Zugriff aufbauen setattr(self.device, dev_new.name, dev_new)