diff --git a/app/app_router.py b/app/app_router.py index f6b59e8..5d8ed38 100644 --- a/app/app_router.py +++ b/app/app_router.py @@ -14,10 +14,15 @@ class AppRouter(object): self.current_app = apps[self.app_index] self.config = config self.encoder_state = False - self.options_time = 1000000000 # .5 seconds in nanoseconds + self.options_time = 500000000 # .5 seconds in nanoseconds self.click_time = 0 def swap_to_app(self, app): + """ + TODO: Calculate the size of the stack and the max size of hte stack and then fully close apps if need be. + :param app: + :return: + """ print("Pausing current app") self.current_app.pause() print("Selecting new app") @@ -55,9 +60,6 @@ class AppRouter(object): print("released encoder") if self.encoder_state and self.click_time: self.release_time = time.monotonic_ns() - print(self.release_time) - print(self.click_time) - print(self.release_time - self.click_time) if (time.monotonic_ns() - self.click_time) > self.options_time: self.macropad.play_tone(1000, .1) self.swap_to_app(self.options) diff --git a/app/debug_app.py b/app/debug_app.py index c64672c..cceae90 100644 --- a/app/debug_app.py +++ b/app/debug_app.py @@ -40,7 +40,7 @@ class DebugApp(App): self.labels.append(label.Label(terminalio.FONT, text="")) for index in range(12): - x = index % 3 + 1 + x = index % 3 y = index // 3 self.layout.add_content(self.labels[index], grid_position=(x, y), cell_size=(1, 1)) diff --git a/app/options_app.py b/app/options_app.py index 3c88fcd..2085e95 100644 --- a/app/options_app.py +++ b/app/options_app.py @@ -16,7 +16,7 @@ class OptionsApp(App): self.send_keyboard_inputs = 0 self.lit_keys = [False] * 12 self.labels = [] - self.layout = GridLayout(x=0, y=9, width=128, height=54, grid_size=(4, 1), cell_padding=1) + self.layout = GridLayout(x=0, y=9, width=128, height=54, grid_size=(4, 4), cell_padding=1) self.title = label.Label( y=4, font=terminalio.FONT, @@ -28,22 +28,19 @@ class OptionsApp(App): def on_start(self): print("on start from the app!") self.lit_keys = [False] * 4 - # self.macropad.display.show(self.display_group) for _ in range(4): self.labels.append(label.Label(terminalio.FONT, text="")) for index in range(4): - x = index % 3 + 1 - y = index // 3 - self.layout.add_content(self.labels[index], grid_position=(x, y), cell_size=(1, 1)) + x = 0 + y = index + self.layout.add_content(self.labels[index], grid_position=(x, y), cell_size=(3, 1)) def on_resume(self): print("resume from the options app!") self.display_group.append(self.title) self.display_group.append(self.layout) self.macropad.display.show(self.display_group) - print(self.display_group) - print(id(self.display_group)) def on_pause(self): print("Pausing") @@ -60,7 +57,7 @@ class OptionsApp(App): def process_key_presses(self): key_event = self.macropad.keys.events.get() if key_event: - if key_event.key_number < 4: + if key_event.key_number < 12: if key_event.pressed : self.labels[key_event.key_number].text = "KEY{}".format(key_event.key_number) print(self.macropad.keys) diff --git a/code.py b/code.py index c1ddb70..cba28df 100644 --- a/code.py +++ b/code.py @@ -2,6 +2,7 @@ import displayio from app import AppRouter, DebugApp from config import Config + from adafruit_macropad import MacroPad macropad = MacroPad() @@ -9,7 +10,8 @@ config = Config("config.json") ar = AppRouter(macropad, config, [ - DebugApp(macropad, config, "debug 1"), + DebugApp(macropad, config, "DEBUG 1"), + DebugApp(macropad, config, "DEBUG 2"), # DebugApp(macropad, config, "debug 2"), # DebugApp(macropad, config, "debug 3") ])