diff --git a/main.py b/main.py index 6bf2b8e..7a51db9 100644 --- a/main.py +++ b/main.py @@ -1,7 +1,18 @@ +from queue import Queue +from time import sleep +from typing import final import pyudev +from gpiozero import Device +from gpiozero.pins.mock import MockFactory +from gpiozero import LED +from threading import Thread, Event + +red = LED(17) +yellow = LED(27) +blue = LED(22) -def main() -> None: +def diskPollWorker(stopEvent: Event, eventQueue: Queue) -> None: context = pyudev.Context() monitor = pyudev.Monitor.from_netlink(context) @@ -22,6 +33,31 @@ def main() -> None: print("\nDisk disconnected") print(f"Name: {device.sys_name}") + if stopEvent.is_set(): + return + + +def main() -> None: + try: + stopEvent = Event() + diskEventQueue = Queue() + + diskPollThread = Thread( + target=diskPollWorker, + name="disk_poll_thread", + args=(stopEvent, diskEventQueue), + daemon=True, + ) + + diskPollThread.start() + + while True: + sleep(1) + + finally: + stopEvent.set() + return + if __name__ == "__main__": main() diff --git a/pyproject.toml b/pyproject.toml index 567f894..a5af29a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,6 +6,7 @@ readme = "README.md" requires-python = ">=3.13,<3.14" dependencies = [ "gpiozero>=2.0.1.post3", + "lgpio>=0.2.2.0", "numpy>=2.5.1", "picamera2>=0.3.36", "pyudev>=0.24.4",