fixup: Integrate NotifyDriverReset handling for ios1
Signed-off-by: Sven Sager <s.sager@kunbus.com>
This commit is contained in:
@@ -64,8 +64,11 @@ class MiddlewareDaemon:
|
|||||||
|
|
||||||
dbus_ios1_running = self.bp_ios1 and self.bp_ios1.is_alive()
|
dbus_ios1_running = self.bp_ios1 and self.bp_ios1.is_alive()
|
||||||
if not dbus_ios1_running:
|
if not dbus_ios1_running:
|
||||||
self.bp_ios1 = BusProviderIos1(self._get_bus())
|
if self.bp_middleware1.published.wait(timeout=10.0):
|
||||||
self.bp_ios1.start()
|
self.bp_ios1 = BusProviderIos1(self._get_bus_address())
|
||||||
|
self.bp_ios1.start()
|
||||||
|
else:
|
||||||
|
log.error("dbus middleware1 provider thread is not alive - can not start ios1 bus")
|
||||||
|
|
||||||
log.debug("leave MiddlewareDaemon.dbus_start")
|
log.debug("leave MiddlewareDaemon.dbus_start")
|
||||||
|
|
||||||
|
|||||||
@@ -95,6 +95,13 @@ class BusProviderIos1(Thread):
|
|||||||
except Exception as e:
|
except Exception as e:
|
||||||
log.error(f"can not publish dbus {REVPI_DBUS_NAME}: {e}")
|
log.error(f"can not publish dbus {REVPI_DBUS_NAME}: {e}")
|
||||||
|
|
||||||
|
# Subscribe to NotifyDriverReset on middleware1 dbus
|
||||||
|
iface_pi_control = bus.get(
|
||||||
|
"com.revolutionpi.middleware1",
|
||||||
|
"/com/revolutionpi/middleware1",
|
||||||
|
)["com.revolutionpi.middleware1.PiControl"]
|
||||||
|
iface_pi_control.onNotifyDriverReset = self.stop
|
||||||
|
|
||||||
try:
|
try:
|
||||||
self._loop.run()
|
self._loop.run()
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
|||||||
Reference in New Issue
Block a user