Initial main impl with disk poll thread
This commit is contained in:
38
main.py
38
main.py
@@ -1,7 +1,18 @@
|
|||||||
|
from queue import Queue
|
||||||
|
from time import sleep
|
||||||
|
from typing import final
|
||||||
import pyudev
|
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()
|
context = pyudev.Context()
|
||||||
|
|
||||||
monitor = pyudev.Monitor.from_netlink(context)
|
monitor = pyudev.Monitor.from_netlink(context)
|
||||||
@@ -22,6 +33,31 @@ def main() -> None:
|
|||||||
print("\nDisk disconnected")
|
print("\nDisk disconnected")
|
||||||
print(f"Name: {device.sys_name}")
|
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__":
|
if __name__ == "__main__":
|
||||||
main()
|
main()
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ readme = "README.md"
|
|||||||
requires-python = ">=3.13,<3.14"
|
requires-python = ">=3.13,<3.14"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"gpiozero>=2.0.1.post3",
|
"gpiozero>=2.0.1.post3",
|
||||||
|
"lgpio>=0.2.2.0",
|
||||||
"numpy>=2.5.1",
|
"numpy>=2.5.1",
|
||||||
"picamera2>=0.3.36",
|
"picamera2>=0.3.36",
|
||||||
"pyudev>=0.24.4",
|
"pyudev>=0.24.4",
|
||||||
|
|||||||
Reference in New Issue
Block a user