diff --git a/main.py b/main.py index dc09863..8726d07 100644 --- a/main.py +++ b/main.py @@ -22,11 +22,20 @@ def init_data(tracker, data_manager): def main(): + import os + if "--no-raspi" in sys.argv: + os.environ["MOCK_MOTOR"] = "1" + sys.argv.remove("--no-raspi") + if "--mock-motor" in sys.argv: + os.environ["MOCK_MOTOR"] = "1" + sys.argv.remove("--mock-motor") + dm = DataManager("data") tracker = Tracker(dm) init_data(tracker, dm) + if "--cli" in sys.argv: from ui.cli import CLI cli = CLI(tracker) diff --git a/raspi/motor.py b/raspi/motor.py index b2b4dfa..a5c75a2 100644 --- a/raspi/motor.py +++ b/raspi/motor.py @@ -1,3 +1,4 @@ +import os import sys import time import logging @@ -6,8 +7,12 @@ import threading logger = logging.getLogger(__name__) try: - if "--no-raspi" in sys.argv or "--mock-motor" in sys.argv: - raise ImportError("RPi functionality disabled via command line flag.") + if ( + "--no-raspi" in sys.argv + or "--mock-motor" in sys.argv + or os.environ.get("MOCK_MOTOR") == "1" + ): + raise ImportError("RPi functionality disabled via environment/CLI flag.") import RPi.GPIO as GPIO GPIO_AVAILABLE = True except (ImportError, RuntimeError): @@ -17,6 +22,7 @@ except (ImportError, RuntimeError): + class Raspi: CLOCKWISE = False COUNTER_CLOCKWISE = True