New Cable, debounce
This commit is contained in:
+16
-16
@@ -122,14 +122,10 @@ class StateMenu:
|
||||
self.next_state = None
|
||||
self.reset_state()
|
||||
|
||||
self.mqtt = FoodoorMQTT(["oben", "unten"])
|
||||
self.mqtt.message_cbs.append(lambda *_: self.draw())
|
||||
self.mqtt.connect()
|
||||
|
||||
self.strip = neopixel.NeoPixel(board.D18, 36, brightness=0.5, pixel_order=neopixel.GRB, auto_write=False)
|
||||
self.strip_cellar = SubStrip(self.strip, pixel=list(range(12)))
|
||||
self.strip = neopixel.NeoPixel(board.D12, 36, brightness=0.5, pixel_order=neopixel.GRB, auto_write=False)
|
||||
self.strip_aerie = SubStrip(self.strip, pixel=list(range(12)))
|
||||
self.strip_center = SubStrip(self.strip, pixel=list(range(12, 24)))
|
||||
self.strip_aerie = SubStrip(self.strip, pixel=list(range(24, 36)))
|
||||
self.strip_cellar = SubStrip(self.strip, pixel=list(range(24, 36)))
|
||||
|
||||
self.strip_loop = SubStrip(self.strip, [
|
||||
0, 1, 2, 3, 4, 5, 6, 7, 8,
|
||||
@@ -143,6 +139,10 @@ class StateMenu:
|
||||
"aerie": Door("10.42.1.28", "open", "close"),
|
||||
}
|
||||
|
||||
self.mqtt = FoodoorMQTT(["oben", "unten"])
|
||||
self.mqtt.message_cbs.append(lambda *_: self.draw())
|
||||
self.mqtt.connect()
|
||||
|
||||
def reset_state(self):
|
||||
self.state = StateMenu.SHOW_STATE
|
||||
self.change_target = None
|
||||
@@ -260,24 +260,24 @@ def main():
|
||||
btn_aerie.switch_to_input(digitalio.Pull.DOWN)
|
||||
|
||||
menu = StateMenu()
|
||||
btn_locked = False # For waiting while a button is still pressed
|
||||
btn_locked = 0 # For waiting while a button is still pressed
|
||||
|
||||
try:
|
||||
while True:
|
||||
if not btn_cellar.value:
|
||||
if btn_cellar.value:
|
||||
if not btn_locked:
|
||||
menu.button_pressed("cellar")
|
||||
btn_locked = True
|
||||
elif not btn_center.value:
|
||||
btn_locked = 10
|
||||
elif btn_center.value:
|
||||
if not btn_locked:
|
||||
menu.button_pressed("center")
|
||||
btn_locked = True
|
||||
elif not btn_aerie.value:
|
||||
btn_locked = 10
|
||||
elif btn_aerie.value:
|
||||
if not btn_locked:
|
||||
menu.button_pressed("aerie")
|
||||
btn_locked = True
|
||||
else:
|
||||
btn_locked = False
|
||||
btn_locked = 10
|
||||
elif btn_locked:
|
||||
btn_locked -= 1
|
||||
|
||||
menu.tick()
|
||||
time.sleep(.01)
|
||||
|
||||
Reference in New Issue
Block a user