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.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:
|
||||
raise NotImplementedError("Missing _type() in Unit class \"%s\"" % self.__class__.__name__)
|
||||
|
||||
@@ -33,3 +38,7 @@ class Unit:
|
||||
bulk is the data to write.
|
||||
"""
|
||||
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):
|
||||
return 'PIN'
|
||||
|
||||
def on_event(self, event:int, payload):
|
||||
pass
|
||||
|
||||
def off(self):
|
||||
self.send(0x00)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user