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()
|
||||
if not dbus_ios1_running:
|
||||
self.bp_ios1 = BusProviderIos1(self._get_bus())
|
||||
self.bp_ios1.start()
|
||||
if self.bp_middleware1.published.wait(timeout=10.0):
|
||||
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")
|
||||
|
||||
|
||||
@@ -95,6 +95,13 @@ class BusProviderIos1(Thread):
|
||||
except Exception as 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:
|
||||
self._loop.run()
|
||||
except Exception as e:
|
||||
|
||||
Reference in New Issue
Block a user