From 9fccd1146439627dc7fa810849b28e56007c1935 Mon Sep 17 00:00:00 2001 From: apal6981 Date: Thu, 31 Oct 2024 17:23:00 -0600 Subject: [PATCH 01/15] cleaning up pygame dependencies --- controllers/__init__.py | 31 ++++++++++++++++--------------- demos/sweep/main.py | 9 +++++---- runners/demo.py | 2 +- runners/kiosk.py | 8 ++++---- 4 files changed, 26 insertions(+), 24 deletions(-) diff --git a/controllers/__init__.py b/controllers/__init__.py index fd5297c..3a590ce 100644 --- a/controllers/__init__.py +++ b/controllers/__init__.py @@ -1,7 +1,7 @@ from loguru import logger -def start_inputs(system_queue, demo_input_queue): +def start_inputs(system_queue, demo_input_queue,simulated): """ Start the input processing. @@ -43,21 +43,22 @@ def start_inputs(system_queue, demo_input_queue): logger.warning("Unable to import modules necessary to run gamepad input.") logger.warning("Program will continue to run without this input.") - try: - logger.info("Loading keyboard input...") - from . import keyboard + if simulated: + try: + logger.info("Loading keyboard input...") + from . import keyboard - keyboard_runner = None - if keyboard.check_if_sim(): - keyboard_runner = keyboard.start_processing_input( - system_queue, demo_input_queue - ) - logger.info("...done") - except (ImportError, ModuleNotFoundError) as e: - keyboard_runner = None - logger.warning(e) - logger.warning("Unable to import modules necessary to run keyboard input.") - logger.warning("Program will continue to run without this input.") + keyboard_runner = None + if keyboard.check_if_sim(): + keyboard_runner = keyboard.start_processing_input( + system_queue, demo_input_queue + ) + logger.info("...done") + except (ImportError, ModuleNotFoundError) as e: + keyboard_runner = None + logger.warning(e) + logger.warning("Unable to import modules necessary to run keyboard input.") + logger.warning("Program will continue to run without this input.") while True: if mqtt_runner: diff --git a/demos/sweep/main.py b/demos/sweep/main.py index 34a2cc0..4d4d055 100644 --- a/demos/sweep/main.py +++ b/demos/sweep/main.py @@ -28,7 +28,7 @@ def run(self): # Create generator here while True: for column in range(0, self.screen.x_width): - self.draw_vline_loc(column, 0xF) + self.draw_vline_loc(column, 0xFF) yield for column in range(self.screen.x_width - 1, -1, -1): @@ -39,7 +39,7 @@ def stop(self): """Reset the state of the demo if needed, else leave blank""" pass - def draw_vline_loc(self, x, val): + def draw_vline_loc(self, x,value): """ Draw a vertical line at location x with value val @@ -47,6 +47,7 @@ def draw_vline_loc(self, x, val): x (int): x location of the line val (int): value of the line """ - for pix in range(0, self.screen.y_height): - self.screen.draw_pixel(x, pix, val) + for y in range(self.screen.y_height//2): + self.screen.draw_raw(x,y,value) + # self.screen.draw_pixel(x, pix, val) self.screen.push() diff --git a/runners/demo.py b/runners/demo.py index 7414808..340955c 100644 --- a/runners/demo.py +++ b/runners/demo.py @@ -52,7 +52,7 @@ def run(demo_name, simulate, new_hardware, testing): # Set up state to run game tick = screen.create_tick(demo.frame_rate) handle_input = controllers.start_inputs( - queues.system_queue, queues.demo_input_queue + queues.system_queue, queues.demo_input_queue,simulated=simulate ) handle_output = broadcasters.start_outputs( queues.system_queue, queues.demo_output_queue diff --git a/runners/kiosk.py b/runners/kiosk.py index 3c65544..b01f894 100644 --- a/runners/kiosk.py +++ b/runners/kiosk.py @@ -188,7 +188,7 @@ def play_demo_from_idle(demo, handle_input, queues, screen, demo_time_override): screen.refresh() -def run_loop(screen, user_input_timeout=300, demo_time_override=None): +def run_loop(screen, user_input_timeout=300, demo_time_override=None,simulated=False): """Runs the event loop that takes care of input and running the demos. Args: @@ -203,7 +203,7 @@ def run_loop(screen, user_input_timeout=300, demo_time_override=None): demos = load_demos() random_demos = get_random_demo(demos) handle_input = controllers.start_inputs( - queues.system_queue, queues.demo_input_queue + queues.system_queue, queues.demo_input_queue,simulated=simulated ) handle_output = broadcasters.start_outputs( queues.system_queue, queues.demo_input_queue @@ -299,9 +299,9 @@ def run(simulate, testing=False, new_hardware=False): logger.info("-=:___________/") if testing: - run_loop(screen, user_input_timeout=5, demo_time_override=5) + run_loop(screen, user_input_timeout=5, demo_time_override=5,simulated=simulate) else: - run_loop(screen) + run_loop(screen,simulated=simulate) if __name__ == "__main__": From 0932411b73afe76a606965aaec08f6fa3e609904 Mon Sep 17 00:00:00 2001 From: apal6981 Date: Thu, 31 Oct 2024 20:50:49 -0600 Subject: [PATCH 02/15] changed dependency on pygame, only loads when screen is being simulated --- controllers/__init__.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/controllers/__init__.py b/controllers/__init__.py index 3a590ce..05c2705 100644 --- a/controllers/__init__.py +++ b/controllers/__init__.py @@ -43,12 +43,13 @@ def start_inputs(system_queue, demo_input_queue,simulated): logger.warning("Unable to import modules necessary to run gamepad input.") logger.warning("Program will continue to run without this input.") + + keyboard_runner = None if simulated: try: logger.info("Loading keyboard input...") from . import keyboard - keyboard_runner = None if keyboard.check_if_sim(): keyboard_runner = keyboard.start_processing_input( system_queue, demo_input_queue From d717ad8a5e3d323e0aee359e8fbfe0490932c984 Mon Sep 17 00:00:00 2001 From: apal6981 Date: Thu, 31 Oct 2024 20:52:32 -0600 Subject: [PATCH 03/15] formated with black --- controllers/__init__.py | 3 +-- demos/sweep/main.py | 6 +++--- runners/demo.py | 2 +- runners/kiosk.py | 8 ++++---- 4 files changed, 9 insertions(+), 10 deletions(-) diff --git a/controllers/__init__.py b/controllers/__init__.py index 05c2705..15b3903 100644 --- a/controllers/__init__.py +++ b/controllers/__init__.py @@ -1,7 +1,7 @@ from loguru import logger -def start_inputs(system_queue, demo_input_queue,simulated): +def start_inputs(system_queue, demo_input_queue, simulated): """ Start the input processing. @@ -43,7 +43,6 @@ def start_inputs(system_queue, demo_input_queue,simulated): logger.warning("Unable to import modules necessary to run gamepad input.") logger.warning("Program will continue to run without this input.") - keyboard_runner = None if simulated: try: diff --git a/demos/sweep/main.py b/demos/sweep/main.py index 4d4d055..f7df82b 100644 --- a/demos/sweep/main.py +++ b/demos/sweep/main.py @@ -39,7 +39,7 @@ def stop(self): """Reset the state of the demo if needed, else leave blank""" pass - def draw_vline_loc(self, x,value): + def draw_vline_loc(self, x, value): """ Draw a vertical line at location x with value val @@ -47,7 +47,7 @@ def draw_vline_loc(self, x,value): x (int): x location of the line val (int): value of the line """ - for y in range(self.screen.y_height//2): - self.screen.draw_raw(x,y,value) + for y in range(self.screen.y_height // 2): + self.screen.draw_raw(x, y, value) # self.screen.draw_pixel(x, pix, val) self.screen.push() diff --git a/runners/demo.py b/runners/demo.py index 340955c..06806ed 100644 --- a/runners/demo.py +++ b/runners/demo.py @@ -52,7 +52,7 @@ def run(demo_name, simulate, new_hardware, testing): # Set up state to run game tick = screen.create_tick(demo.frame_rate) handle_input = controllers.start_inputs( - queues.system_queue, queues.demo_input_queue,simulated=simulate + queues.system_queue, queues.demo_input_queue, simulated=simulate ) handle_output = broadcasters.start_outputs( queues.system_queue, queues.demo_output_queue diff --git a/runners/kiosk.py b/runners/kiosk.py index b01f894..8d98a6a 100644 --- a/runners/kiosk.py +++ b/runners/kiosk.py @@ -188,7 +188,7 @@ def play_demo_from_idle(demo, handle_input, queues, screen, demo_time_override): screen.refresh() -def run_loop(screen, user_input_timeout=300, demo_time_override=None,simulated=False): +def run_loop(screen, user_input_timeout=300, demo_time_override=None, simulated=False): """Runs the event loop that takes care of input and running the demos. Args: @@ -203,7 +203,7 @@ def run_loop(screen, user_input_timeout=300, demo_time_override=None,simulated=F demos = load_demos() random_demos = get_random_demo(demos) handle_input = controllers.start_inputs( - queues.system_queue, queues.demo_input_queue,simulated=simulated + queues.system_queue, queues.demo_input_queue, simulated=simulated ) handle_output = broadcasters.start_outputs( queues.system_queue, queues.demo_input_queue @@ -299,9 +299,9 @@ def run(simulate, testing=False, new_hardware=False): logger.info("-=:___________/") if testing: - run_loop(screen, user_input_timeout=5, demo_time_override=5,simulated=simulate) + run_loop(screen, user_input_timeout=5, demo_time_override=5, simulated=simulate) else: - run_loop(screen,simulated=simulate) + run_loop(screen, simulated=simulate) if __name__ == "__main__": From ec916734064dcd70ec05675250c0a8849efb58e5 Mon Sep 17 00:00:00 2001 From: apal6981 Date: Thu, 31 Oct 2024 17:23:00 -0600 Subject: [PATCH 04/15] cleaning up pygame dependencies --- controllers/__init__.py | 4 ++-- demos/sweep/main.py | 6 +++--- runners/demo.py | 2 +- runners/kiosk.py | 8 ++++---- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/controllers/__init__.py b/controllers/__init__.py index 15b3903..3a590ce 100644 --- a/controllers/__init__.py +++ b/controllers/__init__.py @@ -1,7 +1,7 @@ from loguru import logger -def start_inputs(system_queue, demo_input_queue, simulated): +def start_inputs(system_queue, demo_input_queue,simulated): """ Start the input processing. @@ -43,12 +43,12 @@ def start_inputs(system_queue, demo_input_queue, simulated): logger.warning("Unable to import modules necessary to run gamepad input.") logger.warning("Program will continue to run without this input.") - keyboard_runner = None if simulated: try: logger.info("Loading keyboard input...") from . import keyboard + keyboard_runner = None if keyboard.check_if_sim(): keyboard_runner = keyboard.start_processing_input( system_queue, demo_input_queue diff --git a/demos/sweep/main.py b/demos/sweep/main.py index f7df82b..4d4d055 100644 --- a/demos/sweep/main.py +++ b/demos/sweep/main.py @@ -39,7 +39,7 @@ def stop(self): """Reset the state of the demo if needed, else leave blank""" pass - def draw_vline_loc(self, x, value): + def draw_vline_loc(self, x,value): """ Draw a vertical line at location x with value val @@ -47,7 +47,7 @@ def draw_vline_loc(self, x, value): x (int): x location of the line val (int): value of the line """ - for y in range(self.screen.y_height // 2): - self.screen.draw_raw(x, y, value) + for y in range(self.screen.y_height//2): + self.screen.draw_raw(x,y,value) # self.screen.draw_pixel(x, pix, val) self.screen.push() diff --git a/runners/demo.py b/runners/demo.py index 06806ed..340955c 100644 --- a/runners/demo.py +++ b/runners/demo.py @@ -52,7 +52,7 @@ def run(demo_name, simulate, new_hardware, testing): # Set up state to run game tick = screen.create_tick(demo.frame_rate) handle_input = controllers.start_inputs( - queues.system_queue, queues.demo_input_queue, simulated=simulate + queues.system_queue, queues.demo_input_queue,simulated=simulate ) handle_output = broadcasters.start_outputs( queues.system_queue, queues.demo_output_queue diff --git a/runners/kiosk.py b/runners/kiosk.py index 8d98a6a..b01f894 100644 --- a/runners/kiosk.py +++ b/runners/kiosk.py @@ -188,7 +188,7 @@ def play_demo_from_idle(demo, handle_input, queues, screen, demo_time_override): screen.refresh() -def run_loop(screen, user_input_timeout=300, demo_time_override=None, simulated=False): +def run_loop(screen, user_input_timeout=300, demo_time_override=None,simulated=False): """Runs the event loop that takes care of input and running the demos. Args: @@ -203,7 +203,7 @@ def run_loop(screen, user_input_timeout=300, demo_time_override=None, simulated= demos = load_demos() random_demos = get_random_demo(demos) handle_input = controllers.start_inputs( - queues.system_queue, queues.demo_input_queue, simulated=simulated + queues.system_queue, queues.demo_input_queue,simulated=simulated ) handle_output = broadcasters.start_outputs( queues.system_queue, queues.demo_input_queue @@ -299,9 +299,9 @@ def run(simulate, testing=False, new_hardware=False): logger.info("-=:___________/") if testing: - run_loop(screen, user_input_timeout=5, demo_time_override=5, simulated=simulate) + run_loop(screen, user_input_timeout=5, demo_time_override=5,simulated=simulate) else: - run_loop(screen, simulated=simulate) + run_loop(screen,simulated=simulate) if __name__ == "__main__": From 761a8266843b364ed94ead4ca10ccfb21cd07718 Mon Sep 17 00:00:00 2001 From: apal6981 Date: Thu, 31 Oct 2024 20:50:49 -0600 Subject: [PATCH 05/15] changed dependency on pygame, only loads when screen is being simulated --- controllers/__init__.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/controllers/__init__.py b/controllers/__init__.py index 3a590ce..05c2705 100644 --- a/controllers/__init__.py +++ b/controllers/__init__.py @@ -43,12 +43,13 @@ def start_inputs(system_queue, demo_input_queue,simulated): logger.warning("Unable to import modules necessary to run gamepad input.") logger.warning("Program will continue to run without this input.") + + keyboard_runner = None if simulated: try: logger.info("Loading keyboard input...") from . import keyboard - keyboard_runner = None if keyboard.check_if_sim(): keyboard_runner = keyboard.start_processing_input( system_queue, demo_input_queue From cee099a934d8f89701b858c9e8c51bd38c3c68f0 Mon Sep 17 00:00:00 2001 From: apal6981 Date: Thu, 31 Oct 2024 20:52:32 -0600 Subject: [PATCH 06/15] formated with black --- controllers/__init__.py | 3 +-- demos/sweep/main.py | 6 +++--- runners/demo.py | 2 +- runners/kiosk.py | 8 ++++---- 4 files changed, 9 insertions(+), 10 deletions(-) diff --git a/controllers/__init__.py b/controllers/__init__.py index 05c2705..15b3903 100644 --- a/controllers/__init__.py +++ b/controllers/__init__.py @@ -1,7 +1,7 @@ from loguru import logger -def start_inputs(system_queue, demo_input_queue,simulated): +def start_inputs(system_queue, demo_input_queue, simulated): """ Start the input processing. @@ -43,7 +43,6 @@ def start_inputs(system_queue, demo_input_queue,simulated): logger.warning("Unable to import modules necessary to run gamepad input.") logger.warning("Program will continue to run without this input.") - keyboard_runner = None if simulated: try: diff --git a/demos/sweep/main.py b/demos/sweep/main.py index 4d4d055..f7df82b 100644 --- a/demos/sweep/main.py +++ b/demos/sweep/main.py @@ -39,7 +39,7 @@ def stop(self): """Reset the state of the demo if needed, else leave blank""" pass - def draw_vline_loc(self, x,value): + def draw_vline_loc(self, x, value): """ Draw a vertical line at location x with value val @@ -47,7 +47,7 @@ def draw_vline_loc(self, x,value): x (int): x location of the line val (int): value of the line """ - for y in range(self.screen.y_height//2): - self.screen.draw_raw(x,y,value) + for y in range(self.screen.y_height // 2): + self.screen.draw_raw(x, y, value) # self.screen.draw_pixel(x, pix, val) self.screen.push() diff --git a/runners/demo.py b/runners/demo.py index 340955c..06806ed 100644 --- a/runners/demo.py +++ b/runners/demo.py @@ -52,7 +52,7 @@ def run(demo_name, simulate, new_hardware, testing): # Set up state to run game tick = screen.create_tick(demo.frame_rate) handle_input = controllers.start_inputs( - queues.system_queue, queues.demo_input_queue,simulated=simulate + queues.system_queue, queues.demo_input_queue, simulated=simulate ) handle_output = broadcasters.start_outputs( queues.system_queue, queues.demo_output_queue diff --git a/runners/kiosk.py b/runners/kiosk.py index b01f894..8d98a6a 100644 --- a/runners/kiosk.py +++ b/runners/kiosk.py @@ -188,7 +188,7 @@ def play_demo_from_idle(demo, handle_input, queues, screen, demo_time_override): screen.refresh() -def run_loop(screen, user_input_timeout=300, demo_time_override=None,simulated=False): +def run_loop(screen, user_input_timeout=300, demo_time_override=None, simulated=False): """Runs the event loop that takes care of input and running the demos. Args: @@ -203,7 +203,7 @@ def run_loop(screen, user_input_timeout=300, demo_time_override=None,simulated=F demos = load_demos() random_demos = get_random_demo(demos) handle_input = controllers.start_inputs( - queues.system_queue, queues.demo_input_queue,simulated=simulated + queues.system_queue, queues.demo_input_queue, simulated=simulated ) handle_output = broadcasters.start_outputs( queues.system_queue, queues.demo_input_queue @@ -299,9 +299,9 @@ def run(simulate, testing=False, new_hardware=False): logger.info("-=:___________/") if testing: - run_loop(screen, user_input_timeout=5, demo_time_override=5,simulated=simulate) + run_loop(screen, user_input_timeout=5, demo_time_override=5, simulated=simulate) else: - run_loop(screen,simulated=simulate) + run_loop(screen, simulated=simulate) if __name__ == "__main__": From c0a2218abf16c7a84a9f5236040b41ef47ef7c8e Mon Sep 17 00:00:00 2001 From: apal6981 Date: Mon, 24 Feb 2025 16:12:29 -0700 Subject: [PATCH 07/15] fix docstrings --- controllers/__init__.py | 1 + demos/sweep/main.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/controllers/__init__.py b/controllers/__init__.py index 15b3903..65c782e 100644 --- a/controllers/__init__.py +++ b/controllers/__init__.py @@ -8,6 +8,7 @@ def start_inputs(system_queue, demo_input_queue, simulated): Args: system_queue (Queue): The system queue. demo_input_queue (Queue): The demo input queue. + simulated (Bool): if the screen is simulated (True) or on hardware (False) """ try: logger.info("Loading MQTT input...") diff --git a/demos/sweep/main.py b/demos/sweep/main.py index f7df82b..4d19dca 100644 --- a/demos/sweep/main.py +++ b/demos/sweep/main.py @@ -45,7 +45,7 @@ def draw_vline_loc(self, x, value): Args: x (int): x location of the line - val (int): value of the line + value (int): value of the line """ for y in range(self.screen.y_height // 2): self.screen.draw_raw(x, y, value) From fc469d35c430ef8b12e5420517ced4ecc3dafd0a Mon Sep 17 00:00:00 2001 From: apal6981 Date: Mon, 24 Feb 2025 16:55:47 -0700 Subject: [PATCH 08/15] moved RPi/linux specific dependencies into its own requirements, they were breaking windows --- RPi_requirements.txt | 2 ++ requirements.txt | 2 -- 2 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 RPi_requirements.txt diff --git a/RPi_requirements.txt b/RPi_requirements.txt new file mode 100644 index 0000000..e9fa710 --- /dev/null +++ b/RPi_requirements.txt @@ -0,0 +1,2 @@ +spidev==3.5 +sysv-ipc==1.1.0 diff --git a/requirements.txt b/requirements.txt index 513932e..0517081 100644 --- a/requirements.txt +++ b/requirements.txt @@ -9,6 +9,4 @@ perlin-noise==1.12 pygame pygame-widgets==1.0.0 PyYAML==6.0.2 -spidev==3.5 urllib3==1.26.19 -sysv-ipc==1.1.0 From 63ebd182915f90b93acdfa8cbe45c1881ca92792 Mon Sep 17 00:00:00 2001 From: apal6981 Date: Mon, 24 Feb 2025 16:56:22 -0700 Subject: [PATCH 09/15] fixed linux specific python path programming, now the simulator works on windows --- runners/simulator.py | 15 ++++++++++++--- runners/utils.py | 4 ++-- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/runners/simulator.py b/runners/simulator.py index f581862..8c95bec 100644 --- a/runners/simulator.py +++ b/runners/simulator.py @@ -2,6 +2,7 @@ from importlib import import_module, reload from pathlib import Path from queue import Queue +import types import pygame from loguru import logger @@ -74,7 +75,12 @@ def _import_module(module): """ # First time loading of the demo module logger.info(f"Loading {module}") - return import_module(module) + try: + mod = import_module(module) + return mod + except ModuleNotFoundError: + logger.info(f"Could not load {module}") + return module @staticmethod def _reload_module(module): @@ -88,7 +94,10 @@ def _reload_module(module): """ # Hot reload the demo module logger.info(f"Reloading {module}") - return reload(module) + if isinstance(module,types.ModuleType): + return reload(module) + logger.info(f"Module {module} is not Moduletype") + return module def _reload_demos(self): """Reload all the demos in the demo folder.""" @@ -307,7 +316,7 @@ def _generate_buttons(self): def start(self): """Start the main loop.""" - handle_input = controllers.start_inputs(self.system_q, self.input_q) + handle_input = controllers.start_inputs(self.system_q, self.input_q,simulated=True) tick = self.screen.create_tick(self.game.frame_rate) try: diff --git a/runners/utils.py b/runners/utils.py index d754133..0ffa4f1 100644 --- a/runners/utils.py +++ b/runners/utils.py @@ -1,5 +1,5 @@ from dataclasses import dataclass -from pathlib import Path +from pathlib import Path,PurePath from queue import Queue @@ -33,7 +33,7 @@ def get_demos(demo_dir="demos"): demos = (d for d in demos if (d / "main.py").exists()) # Convert to module notation - demos = ((d.name, str(d).replace("/", ".") + ".main") for d in demos) + demos = ((d.name, ".".join(PurePath(d).parts) + ".main") for d in demos) return demos From a1b0f8a3d89fe928091bf76259225160a14c65c3 Mon Sep 17 00:00:00 2001 From: apal6981 Date: Mon, 24 Feb 2025 16:57:53 -0700 Subject: [PATCH 10/15] formatted --- runners/simulator.py | 8 +++++--- runners/utils.py | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/runners/simulator.py b/runners/simulator.py index 8c95bec..06dd0bd 100644 --- a/runners/simulator.py +++ b/runners/simulator.py @@ -80,7 +80,7 @@ def _import_module(module): return mod except ModuleNotFoundError: logger.info(f"Could not load {module}") - return module + return module @staticmethod def _reload_module(module): @@ -94,7 +94,7 @@ def _reload_module(module): """ # Hot reload the demo module logger.info(f"Reloading {module}") - if isinstance(module,types.ModuleType): + if isinstance(module, types.ModuleType): return reload(module) logger.info(f"Module {module} is not Moduletype") return module @@ -316,7 +316,9 @@ def _generate_buttons(self): def start(self): """Start the main loop.""" - handle_input = controllers.start_inputs(self.system_q, self.input_q,simulated=True) + handle_input = controllers.start_inputs( + self.system_q, self.input_q, simulated=True + ) tick = self.screen.create_tick(self.game.frame_rate) try: diff --git a/runners/utils.py b/runners/utils.py index 0ffa4f1..73cea4b 100644 --- a/runners/utils.py +++ b/runners/utils.py @@ -1,5 +1,5 @@ from dataclasses import dataclass -from pathlib import Path,PurePath +from pathlib import Path, PurePath from queue import Queue From 0c66f747aacfef3a30bb454a7d73318fba92f953 Mon Sep 17 00:00:00 2001 From: apal6981 Date: Mon, 24 Feb 2025 17:01:14 -0700 Subject: [PATCH 11/15] isort --- controllers/keyboard.py | 16 ++-------------- runners/demo.py | 15 ++++++--------- runners/kiosk.py | 15 ++++++--------- runners/simulator.py | 2 +- 4 files changed, 15 insertions(+), 33 deletions(-) diff --git a/controllers/keyboard.py b/controllers/keyboard.py index ea5b663..95903b4 100644 --- a/controllers/keyboard.py +++ b/controllers/keyboard.py @@ -1,20 +1,8 @@ import pygame import pygame_widgets from loguru import logger -from pygame.locals import ( - K_DOWN, - K_ESCAPE, - K_LEFT, - K_RCTRL, - K_RETURN, - K_RIGHT, - K_SPACE, - K_UP, - KEYDOWN, - KEYUP, - QUIT, - K_n, -) +from pygame.locals import (K_DOWN, K_ESCAPE, K_LEFT, K_RCTRL, K_RETURN, + K_RIGHT, K_SPACE, K_UP, KEYDOWN, KEYUP, QUIT, K_n) def check_if_sim(): diff --git a/runners/demo.py b/runners/demo.py index 06806ed..0ac3acb 100644 --- a/runners/demo.py +++ b/runners/demo.py @@ -19,23 +19,20 @@ def run(demo_name, simulate, new_hardware, testing): """ if simulate: - from display.virtual_screen import ( # pylint: disable=import-outside-toplevel - VirtualScreen, - ) + from display.virtual_screen import \ + VirtualScreen # pylint: disable=import-outside-toplevel logger.debug("Starting virtual screen...") screen = VirtualScreen() elif new_hardware: - from display.physical_screen_v2 import ( # pylint: disable=import-outside-toplevel - PhysicalScreen, - ) + from display.physical_screen_v2 import \ + PhysicalScreen # pylint: disable=import-outside-toplevel logger.debug("Starting new physical screen...") screen = PhysicalScreen() else: - from display.physical_screen import ( # pylint: disable=import-outside-toplevel - PhysicalScreen, - ) + from display.physical_screen import \ + PhysicalScreen # pylint: disable=import-outside-toplevel logger.debug("Starting physical screen...") screen = PhysicalScreen() diff --git a/runners/kiosk.py b/runners/kiosk.py index 8d98a6a..c4d261f 100644 --- a/runners/kiosk.py +++ b/runners/kiosk.py @@ -261,23 +261,20 @@ def run(simulate, testing=False, new_hardware=False): """ if simulate: - from display.virtual_screen import ( # pylint: disable=import-outside-toplevel - VirtualScreen, - ) + from display.virtual_screen import \ + VirtualScreen # pylint: disable=import-outside-toplevel logger.debug("Starting virtual screen") screen = VirtualScreen() elif new_hardware: - from display.physical_screen_v2 import ( # pylint: disable=import-outside-toplevel - PhysicalScreen, - ) + from display.physical_screen_v2 import \ + PhysicalScreen # pylint: disable=import-outside-toplevel logger.debug("Starting new physical screen...") screen = PhysicalScreen() else: - from display.physical_screen import ( # pylint: disable=import-outside-toplevel - PhysicalScreen, - ) + from display.physical_screen import \ + PhysicalScreen # pylint: disable=import-outside-toplevel logger.debug("Starting physical screen...") screen = PhysicalScreen() diff --git a/runners/simulator.py b/runners/simulator.py index 06dd0bd..17cf00b 100644 --- a/runners/simulator.py +++ b/runners/simulator.py @@ -1,8 +1,8 @@ import sys +import types from importlib import import_module, reload from pathlib import Path from queue import Queue -import types import pygame from loguru import logger From d64241a7d515360f43a5342610180f3dce419868 Mon Sep 17 00:00:00 2001 From: apal6981 Date: Mon, 24 Feb 2025 17:02:58 -0700 Subject: [PATCH 12/15] black --- controllers/keyboard.py | 16 ++++++++++++++-- runners/demo.py | 15 +++++++++------ runners/kiosk.py | 15 +++++++++------ 3 files changed, 32 insertions(+), 14 deletions(-) diff --git a/controllers/keyboard.py b/controllers/keyboard.py index 95903b4..ea5b663 100644 --- a/controllers/keyboard.py +++ b/controllers/keyboard.py @@ -1,8 +1,20 @@ import pygame import pygame_widgets from loguru import logger -from pygame.locals import (K_DOWN, K_ESCAPE, K_LEFT, K_RCTRL, K_RETURN, - K_RIGHT, K_SPACE, K_UP, KEYDOWN, KEYUP, QUIT, K_n) +from pygame.locals import ( + K_DOWN, + K_ESCAPE, + K_LEFT, + K_RCTRL, + K_RETURN, + K_RIGHT, + K_SPACE, + K_UP, + KEYDOWN, + KEYUP, + QUIT, + K_n, +) def check_if_sim(): diff --git a/runners/demo.py b/runners/demo.py index 0ac3acb..104dea9 100644 --- a/runners/demo.py +++ b/runners/demo.py @@ -19,20 +19,23 @@ def run(demo_name, simulate, new_hardware, testing): """ if simulate: - from display.virtual_screen import \ - VirtualScreen # pylint: disable=import-outside-toplevel + from display.virtual_screen import ( + VirtualScreen, + ) # pylint: disable=import-outside-toplevel logger.debug("Starting virtual screen...") screen = VirtualScreen() elif new_hardware: - from display.physical_screen_v2 import \ - PhysicalScreen # pylint: disable=import-outside-toplevel + from display.physical_screen_v2 import ( + PhysicalScreen, + ) # pylint: disable=import-outside-toplevel logger.debug("Starting new physical screen...") screen = PhysicalScreen() else: - from display.physical_screen import \ - PhysicalScreen # pylint: disable=import-outside-toplevel + from display.physical_screen import ( + PhysicalScreen, + ) # pylint: disable=import-outside-toplevel logger.debug("Starting physical screen...") screen = PhysicalScreen() diff --git a/runners/kiosk.py b/runners/kiosk.py index c4d261f..a16eeda 100644 --- a/runners/kiosk.py +++ b/runners/kiosk.py @@ -261,20 +261,23 @@ def run(simulate, testing=False, new_hardware=False): """ if simulate: - from display.virtual_screen import \ - VirtualScreen # pylint: disable=import-outside-toplevel + from display.virtual_screen import ( + VirtualScreen, + ) # pylint: disable=import-outside-toplevel logger.debug("Starting virtual screen") screen = VirtualScreen() elif new_hardware: - from display.physical_screen_v2 import \ - PhysicalScreen # pylint: disable=import-outside-toplevel + from display.physical_screen_v2 import ( + PhysicalScreen, + ) # pylint: disable=import-outside-toplevel logger.debug("Starting new physical screen...") screen = PhysicalScreen() else: - from display.physical_screen import \ - PhysicalScreen # pylint: disable=import-outside-toplevel + from display.physical_screen import ( + PhysicalScreen, + ) # pylint: disable=import-outside-toplevel logger.debug("Starting physical screen...") screen = PhysicalScreen() From f898e945404e9af466ecaf5bfea64c61766f214f Mon Sep 17 00:00:00 2001 From: apal6981 Date: Mon, 24 Feb 2025 17:04:35 -0700 Subject: [PATCH 13/15] ran isort correctly?? --- runners/demo.py | 12 ++++++------ runners/kiosk.py | 12 ++++++------ 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/runners/demo.py b/runners/demo.py index 104dea9..06806ed 100644 --- a/runners/demo.py +++ b/runners/demo.py @@ -19,23 +19,23 @@ def run(demo_name, simulate, new_hardware, testing): """ if simulate: - from display.virtual_screen import ( + from display.virtual_screen import ( # pylint: disable=import-outside-toplevel VirtualScreen, - ) # pylint: disable=import-outside-toplevel + ) logger.debug("Starting virtual screen...") screen = VirtualScreen() elif new_hardware: - from display.physical_screen_v2 import ( + from display.physical_screen_v2 import ( # pylint: disable=import-outside-toplevel PhysicalScreen, - ) # pylint: disable=import-outside-toplevel + ) logger.debug("Starting new physical screen...") screen = PhysicalScreen() else: - from display.physical_screen import ( + from display.physical_screen import ( # pylint: disable=import-outside-toplevel PhysicalScreen, - ) # pylint: disable=import-outside-toplevel + ) logger.debug("Starting physical screen...") screen = PhysicalScreen() diff --git a/runners/kiosk.py b/runners/kiosk.py index a16eeda..8d98a6a 100644 --- a/runners/kiosk.py +++ b/runners/kiosk.py @@ -261,23 +261,23 @@ def run(simulate, testing=False, new_hardware=False): """ if simulate: - from display.virtual_screen import ( + from display.virtual_screen import ( # pylint: disable=import-outside-toplevel VirtualScreen, - ) # pylint: disable=import-outside-toplevel + ) logger.debug("Starting virtual screen") screen = VirtualScreen() elif new_hardware: - from display.physical_screen_v2 import ( + from display.physical_screen_v2 import ( # pylint: disable=import-outside-toplevel PhysicalScreen, - ) # pylint: disable=import-outside-toplevel + ) logger.debug("Starting new physical screen...") screen = PhysicalScreen() else: - from display.physical_screen import ( + from display.physical_screen import ( # pylint: disable=import-outside-toplevel PhysicalScreen, - ) # pylint: disable=import-outside-toplevel + ) logger.debug("Starting physical screen...") screen = PhysicalScreen() From 06304e37ef37803b214a84a3337e1f173cd4ce22 Mon Sep 17 00:00:00 2001 From: apal6981 Date: Mon, 24 Feb 2025 17:41:26 -0700 Subject: [PATCH 14/15] rearranged requirements.txt files --- RPi_requirements.txt | 2 -- requirements.txt | 2 ++ requirements_Windows.txt | 12 ++++++++++++ 3 files changed, 14 insertions(+), 2 deletions(-) delete mode 100644 RPi_requirements.txt create mode 100644 requirements_Windows.txt diff --git a/RPi_requirements.txt b/RPi_requirements.txt deleted file mode 100644 index e9fa710..0000000 --- a/RPi_requirements.txt +++ /dev/null @@ -1,2 +0,0 @@ -spidev==3.5 -sysv-ipc==1.1.0 diff --git a/requirements.txt b/requirements.txt index 0517081..77dcd70 100644 --- a/requirements.txt +++ b/requirements.txt @@ -10,3 +10,5 @@ pygame pygame-widgets==1.0.0 PyYAML==6.0.2 urllib3==1.26.19 +spidev==3.5 +sysv-ipc==1.1.0 diff --git a/requirements_Windows.txt b/requirements_Windows.txt new file mode 100644 index 0000000..0517081 --- /dev/null +++ b/requirements_Windows.txt @@ -0,0 +1,12 @@ +black==24.3.0 +click==8.1.3 +inputs==0.5 +loguru==0.7.2 +numpy==2.1.2 +opencv-python==4.10.0.84 +paho-mqtt==1.6.1 +perlin-noise==1.12 +pygame +pygame-widgets==1.0.0 +PyYAML==6.0.2 +urllib3==1.26.19 From d0b36e9be686bdad35a34a85ebf916d9f6b2962c Mon Sep 17 00:00:00 2001 From: Paul Date: Fri, 14 Nov 2025 15:56:10 -0700 Subject: [PATCH 15/15] fix black formatting --- runners/utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runners/utils.py b/runners/utils.py index 1f5cd1c..51f3acd 100644 --- a/runners/utils.py +++ b/runners/utils.py @@ -1,6 +1,6 @@ from dataclasses import dataclass -from pathlib import Path, PurePath from importlib import import_module +from pathlib import Path, PurePath from queue import Queue from loguru import logger