Skip to content

Commit

Permalink
Revert "Update hexpansion button chord to also control the LEDs - mov…
Browse files Browse the repository at this point in the history
…ed LED control inside event"

This reverts commit b0021db.
  • Loading branch information
emericklaw committed Jun 5, 2024
1 parent 977f953 commit 8f7faea
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 34 deletions.
30 changes: 6 additions & 24 deletions modules/frontboards/twentyfour.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,14 +34,7 @@ async def background_task(self):
display.gfx_init()

button_states = {button: False for button in self.BUTTON_PINS.keys()}
hexpansion_states = {
1: {"inserted": None, "removed": None},
2: {"inserted": None, "removed": None},
3: {"inserted": None, "removed": None},
4: {"inserted": None, "removed": None},
5: {"inserted": None, "removed": None},
6: {"inserted": None, "removed": None},
}
hexpansion_states = {1: None, 2: None, 3: None, 4: None, 5: None, 6: None}
while True:
booped = not machine.Pin(0, mode=machine.Pin.IN).value()
tildagonos.read_egpios()
Expand All @@ -50,27 +43,16 @@ async def background_task(self):
for i, gpio in enumerate(
map(lambda i: self.BUTTON_PINS[BUTTONS[i]], "ABCDEF")
):
inserted_state = hexpansion_states[i + 1]['inserted']
removed_state = hexpansion_states[i + 1]['removed']
state = hexpansion_states[i + 1]
button_down = not tildagonos.check_egpio_state(
gpio, readgpios=False
)
# print(i, now, state)
if (
button_down
and inserted_state is None
and time.ticks_diff(now, removed_state) > 1000
):
hexpansion_states[i + 1]['inserted'] = now
hexpansion_states[i + 1]['removed'] = None
if button_down and state is None:
hexpansion_states[i + 1] = now
await eventbus.emit_async(HexpansionInsertionEvent(port=i + 1))
elif (
button_down
and inserted_state
and time.ticks_diff(now, inserted_state) > 1000
):
hexpansion_states[i + 1]['inserted'] = None
hexpansion_states[i + 1]['removed'] = now
elif state and time.ticks_diff(now, state) > 4000:
hexpansion_states[i + 1] = None
# print(f"Removing {i}")
await eventbus.emit_async(HexpansionRemovalEvent(port=i + 1))
else:
Expand Down
7 changes: 7 additions & 0 deletions modules/system/hexpansion/app.py
Original file line number Diff line number Diff line change
Expand Up @@ -236,6 +236,13 @@ async def background_task(self):
hexpansion_present = not tildagonos.check_egpio_state(
n, readgpios=False
)
if hexpansion_present:
if settings.get("pattern_mirror_hexpansions", False):
tildagonos.leds[13 + i] = tildagonos.leds[1 + (i * 2)]
else:
tildagonos.leds[13 + i] = led_colours[i]
else:
tildagonos.leds[13 + i] = (0, 0, 0)
if hexpansion_present and not hexpansion_plugin_states[i]:
hexpansion_plugin_states[i] = True
eventbus.emit(HexpansionInsertionEvent(port=i + 1))
Expand Down
10 changes: 0 additions & 10 deletions modules/system/hexpansion/events.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,4 @@
from events import Event
import settings
from tildagonos import tildagonos
from tildagonos import led_colours


class HexpansionEvent(Event):
Expand All @@ -11,18 +8,11 @@ def __init__(self, port):

class HexpansionInsertionEvent(HexpansionEvent):
def __str__(self):
if settings.get("pattern_mirror_hexpansions", False):
tildagonos.leds[13 + self.port - 1] = tildagonos.leds[
1 + ((self.port - 1) * 2)
]
else:
tildagonos.leds[13 + self.port - 1] = led_colours[self.port - 1]
return f"Hexpansion inserted in port: {self.port}"


class HexpansionRemovalEvent(HexpansionEvent):
def __str__(self):
tildagonos.leds[13 + self.port - 1] = (0, 0, 0)
return f"Hexpansion removed from port: {self.port}"


Expand Down

0 comments on commit 8f7faea

Please sign in to comment.