added basic event handling support to units (not verified)
This commit is contained in:
@@ -8,6 +8,11 @@ class Unit:
|
|||||||
self.unit_type = self._type()
|
self.unit_type = self._type()
|
||||||
self.callsign = client.get_callsign(name, self.unit_type)
|
self.callsign = client.get_callsign(name, self.unit_type)
|
||||||
|
|
||||||
|
def evt_hdl(event: int, payload):
|
||||||
|
self.on_event(event, payload)
|
||||||
|
|
||||||
|
self.client.bind_report_listener(self.callsign, evt_hdl)
|
||||||
|
|
||||||
def _type(self) -> str:
|
def _type(self) -> str:
|
||||||
raise NotImplementedError("Missing _type() in Unit class \"%s\"" % self.__class__.__name__)
|
raise NotImplementedError("Missing _type() in Unit class \"%s\"" % self.__class__.__name__)
|
||||||
|
|
||||||
@@ -33,3 +38,7 @@ class Unit:
|
|||||||
bulk is the data to write.
|
bulk is the data to write.
|
||||||
"""
|
"""
|
||||||
self.client.bulk_write(cs=self.callsign, cmd=cmd, id=id, pld=pld, bulk=bulk)
|
self.client.bulk_write(cs=self.callsign, cmd=cmd, id=id, pld=pld, bulk=bulk)
|
||||||
|
|
||||||
|
def on_event(self, event:int, payload):
|
||||||
|
""" Stub for an event handler """
|
||||||
|
raise NotImplementedError("Missing on_event() in Unit class \"%s\"" % self.__class__.__name__)
|
||||||
|
|||||||
@@ -4,6 +4,9 @@ class Pin(gex.Unit):
|
|||||||
def _type(self):
|
def _type(self):
|
||||||
return 'PIN'
|
return 'PIN'
|
||||||
|
|
||||||
|
def on_event(self, event:int, payload):
|
||||||
|
pass
|
||||||
|
|
||||||
def off(self):
|
def off(self):
|
||||||
self.send(0x00)
|
self.send(0x00)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user