From 23f090e81141892a8c0af0f06beca3249349c4af Mon Sep 17 00:00:00 2001 From: garrettmills Date: Tue, 29 Jul 2025 22:24:39 -0500 Subject: [PATCH] Update to use OOP --- src/main.py | 50 ++++++++++++++++++++++++-------------------------- 1 file changed, 24 insertions(+), 26 deletions(-) diff --git a/src/main.py b/src/main.py index 553b71d..0698c75 100644 --- a/src/main.py +++ b/src/main.py @@ -3,36 +3,34 @@ import time io.setmode(io.BCM) + +class Pin: + def __init__(self, num, off=io.HIGH): + self.num = num + self.off = off + + def setup(): + io.setup(self.pin, io.OUT) + + def off(self): + io.output(self.pin, self.off) + + def on(self): + io.output(self.pin, io.LOW if self.off == io.HIGH else io.HIGH) + pins = { - "red": { - "pin": 27, - "off": io.HIGH, - }, - "yellow": { - "pin": 22, - "off": io.HIGH, - }, - "green": { - "pin": 24, - "off": io.HIGH, - }, - "blue": { - "pin": 23, - "off": io.HIGH, - }, + "red": Pin(27), + "yellow": Pin(22), + "green": Pin(24), + "blue": Pin(23), } - -def off(pin): - return pin["off"] - -def on(pin): - return io.LOW if pin["off"] == io.HIGH else io.LOW - - def reset(): for name, pin in pins.items(): - io.setup(pin["pin"], io.OUT) - io.output(pin["pin"], off(pin)) + pin.setup() + pin.off() + pin.on() + time.sleep(2) + pin.off() reset()