""" Must run on python 3 """ import serial #import balicku seriove komunikace from byteparams import parameter as par #import balicku na vypocet checksum import instructions as i #import balicku instrukcni sady rezacky import Gcode #import balicku pro zpracovani gcode import pickle #import balicku pro praci s pickle soubory from time import sleep, gmtime, strftime #import funkce sleep z balicku time pro cekani import os #import balicku operacniho systemu import subprocess #import baliicku pro volani sytemovych prikazu import config #zacatek logovani LOGPATH = config.glob()[8] LOGFILE = LOGPATH + "log_" + strftime("%H-%M_%d-%m", gmtime()) + ".txt" subprocess.call("mkdir " + LOGPATH, shell=True) log = open(LOGFILE, "a") log.write(strftime("%d-%m-%Y %H:%M:%S", gmtime())) log.write("\n") #cteni konfiguracniho souboru f = open("comm.pickle", "rb") serPort = pickle.load(f) file = pickle.load(f) f.close() log.write("CONFIG LOAD\n") log.write(str(serPort) + "\n") log.write(str(file) + "\n") log.write("\n")
fMed = 20 fBig = 25 fLarge = 30 fHuge = 40 #nastaveni velikosti fontu pro obrazovky mensi nez 1280x720 if height < 700: fTiny = 8 fSmall = 8 fMed = 10 fBig = 12.5 fLarge = 15 fHuge = 20 #nacitani konfiguracnich promennych do globalnich promennych mode = config.glob()[0] travel = config.glob()[1] negtravel = config.glob()[2] sender = config.glob()[6] #promenne pro kontrolu, zda prislusna osa hybe x1 = 0 y1 = 0 a1 = 0 bb1 = 0 #promenne pro zobrazeni nastavene hodnoty os x2, y2, a2, bb2 = 0, 0, 0, 0 #funkce cekani na dojeti motoru na pozici def wait_until_reached():
#!/usr/bin/env python3 #skript automaticke kontroly a spusteni aplikace import os import subprocess import time import sys import config PATH = "logs/" DAYS = config.glob()[7] try: os.listdir(PATH) except: os.system("mkdir " + PATH) for i in range(0, 3): #kontrola modulu try: import serial except: print( "Module pyserial is not installed. Try: pip3 install pyserial\nand pip install pyserial" ) break #mazani starych log souboru now = time.time() for f in os.listdir(PATH):
from time import sleep #funkce pripojeni k portu def connection(port): try: ser = serial.Serial(port) print("Connected") return ser except: print(port + " does not exist") ser = "" return ser mode = config.glob()[0] # funkce gcodu G0 def G0(X, Y, A, B): b2, b3, b4, b5, b6, b7, b8 = i.MVP(mode, 0, X) b1, b2, b3, b4, b5, b6, b7, b8, b9 = par(1, b2, b3, b4, b5, b6, b7, b8) x = bytearray([b1, b2, b3, b4, b5, b6, b7, b8, b9]) b2, b3, b4, b5, b6, b7, b8 = i.MVP(mode, 1, Y) b1, b2, b3, b4, b5, b6, b7, b8, b9 = par(1, b2, b3, b4, b5, b6, b7, b8) y = bytearray([b1, b2, b3, b4, b5, b6, b7, b8, b9]) b2, b3, b4, b5, b6, b7, b8 = i.MVP(mode, 2, A) b1, b2, b3, b4, b5, b6, b7, b8, b9 = par(1, b2, b3, b4, b5, b6, b7, b8) a = bytearray([b1, b2, b3, b4, b5, b6, b7, b8, b9]) b2, b3, b4, b5, b6, b7, b8 = i.MVP(mode, 3, B) b1, b2, b3, b4, b5, b6, b7, b8, b9 = par(1, b2, b3, b4, b5, b6, b7, b8)
#instrukcni sada desky TMCM 6110 - pouzivane instrukce import config #prevod mm-kroky motorsteps = config.glob()[3] microstepping = config.glob()[4] screwpitch = config.glob()[5] stepsmm = int((motorsteps * microstepping) / screwpitch) #instrukce rotace doprava def ROR(motor, value): val0 = 0 val1 = 0 val2 = 0 val3 = 0 val = "%08x" % value val = val.split('x')[-1] val0 = int(val[6:8], 16) val1 = int(val[4:6], 16) val2 = int(val[2:4], 16) val3 = int(val[0:2], 16) return (1, 0, motor, val3, val2, val1, val0) #instrukce rotace doleva def ROL(motor, value): val0 = 0 val1 = 0 val2 = 0