Prusa Link Architecture

Table of Contents

Main Driver

  • parse CLI args
  • setup logging
  • instantiate main class and run

logging

log = logging.getLogger(__name__)

# -l on CLI for setting debug levels
for module, level in log_levels:
    logging.getLogger(module).setLevel(level)

config

Uses extendparser in config.py

MVC

MainClass.__init__(config) as Controller:

  • instantiate Model
  • instantiate components in proper order
  • bind signals
  • start threads

There is MainClass.stop() for controlled shutdown.

signals

Uses blinker module. Usage: signal.connect(handler).