Files
gcode_parser/main.py

31 lines
1.1 KiB
Python
Executable File

#! /usr/bin/env python
from argparse import ArgumentParser
from gcode_parser import GCodeParser
from pwm_driver import PWMDriver
from visualizer import Visualizer
# A4
WIDTH_MM = 297.0
HEIGHT_MM = 210.0
if __name__ == "__main__":
argparser = ArgumentParser()
argparser.add_argument("-f", "--file", type=str)
argparser.add_argument("-W", "--width", type=float, default=WIDTH_MM, required=False)
argparser.add_argument("-H", "--height", type=float, default=HEIGHT_MM, required=False)
argparser.add_argument("-V", "--visualize", action="store_true", default=False, required=False)
argparser.add_argument("-P", "--port", type=str, default=None)
args = argparser.parse_args()
parser = GCodeParser(args.file)
positions = parser.get_positions()
if args.visualize:
screen_dimensions = (1024*1.5, 1024*1.5 * HEIGHT_MM/WIDTH_MM)
visualizer = Visualizer(positions, screen_dimensions, (args.width, args.height))
visualizer.visualize()
if args.port:
pwm = PWMDriver(positions, (args.width, args.height), args.port)
pwm.run()