Forgot to set up notify event
This commit is contained in:
@@ -9,11 +9,10 @@ class SoundReader:
|
||||
_pin :int
|
||||
_running :bool
|
||||
_thread :threading.Thread | None
|
||||
_subscriber :Callable[[int], None]
|
||||
_subscriber :Callable[[str], None]
|
||||
|
||||
def __init__(self, pin):
|
||||
self._pin = pin
|
||||
self._sound_level = 0
|
||||
self._running = False
|
||||
self._thread = None
|
||||
|
||||
@@ -32,15 +31,12 @@ class SoundReader:
|
||||
self._thread.join()
|
||||
GPIO.cleanup()
|
||||
|
||||
def subscribe(self, handler:Callable[[int], None]):
|
||||
def subscribe(self, handler:Callable[[str], None]):
|
||||
self._subscriber = handler
|
||||
|
||||
def get_level(self):
|
||||
return self._sound_level
|
||||
|
||||
def _notify(self):
|
||||
def _notify(self, data : str):
|
||||
if self._subscriber:
|
||||
self._subscriber(self._sound_level)
|
||||
self._subscriber(data)
|
||||
|
||||
def _read(self):
|
||||
measure_duration = 0.2
|
||||
@@ -51,7 +47,7 @@ class SoundReader:
|
||||
while time.time() - start < measure_duration:
|
||||
if GPIO.input(self._pin):
|
||||
level += 1
|
||||
self._sound_level = level
|
||||
self._notify(f'{{"soundSensorValue": {level}}}')
|
||||
time.sleep(interval - measure_duration)
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
Reference in New Issue
Block a user