SVGHMI: added a watchdog. To ensure that the whole chain is checked, watchdog use a periodic echo of a hearteat variable. JS client code systematically register /HEARTBEAT at 1s update freq, and reacts on updates of /HEARTBEAT by systematically incrementing it. C code catch /HEARTBEAT update and feeds python-implemented watchdog. For now, watchdog does nothing when tiggered
# pylint: disable=undefined-variable
from __future__ import absolute_import
from svgui.pyjs.jsonrpc.jsonrpc import JSONRPCServiceBase
class JSONRPCService(JSONRPCServiceBase):
def serve(self):
return self.process(request.body.read())
def __call__(self, func):
self.methods[func.__name__] = func
return func