mirror of
https://github.com/BKLronin/touchCNC.git
synced 2024-11-24 17:44:01 +01:00
Fixed Abortbug while Milling, color scheme, etc
This commit is contained in:
parent
c3e37cf6c5
commit
f1791fd629
75
cnc.py
75
cnc.py
@ -10,10 +10,18 @@ grbl = 0
|
|||||||
i = 10
|
i = 10
|
||||||
GCODE = 0
|
GCODE = 0
|
||||||
AXIS = 'X'
|
AXIS = 'X'
|
||||||
states = {'M3':'0', 'M8':'0', 'M6':'0'} #Spindle, Coolant
|
states = {'M3':'0', 'M8':'0', 'M6':'0'} #Spindle, Coolant, Toolchange
|
||||||
BORDER = 2
|
BORDER = 2
|
||||||
freetosend = 1
|
freetosend = 1
|
||||||
|
|
||||||
|
#GUI Color Scheme
|
||||||
|
|
||||||
|
attention = 'red'
|
||||||
|
loaded = 'green'
|
||||||
|
cooling = 'blue'
|
||||||
|
toolchange = 'yellow'
|
||||||
|
|
||||||
|
|
||||||
def grblConnect2():
|
def grblConnect2():
|
||||||
global grbl
|
global grbl
|
||||||
|
|
||||||
@ -25,13 +33,13 @@ def grblConnect2():
|
|||||||
try:
|
try:
|
||||||
#print([comport.device for comport in serial.tools.list_ports.comports()])
|
#print([comport.device for comport in serial.tools.list_ports.comports()])
|
||||||
print ("Trying...",device)
|
print ("Trying...",device)
|
||||||
grbl = serial.Serial(port= device, baudrate= 115200, timeout =.1)
|
grbl = serial.Serial(port= device, baudrate= 115200, timeout =3)
|
||||||
#grbl.open()
|
#grbl.open()
|
||||||
#print(grbl.readline())
|
#print(grbl.readline())
|
||||||
grbl.write(str.encode("\r\n\r\n"))
|
grbl.write(str.encode("\r\n\r\n"))
|
||||||
time.sleep(2) # Wait for grbl to initialize
|
time.sleep(2) # Wait for grbl to initialize
|
||||||
grbl.flushInput() # Flush startup text in serial input
|
grbl.flushInput() # Flush startup text in serial input
|
||||||
connect_ser.config(bg='#A2D729')
|
connect_ser.config(bg= loaded)
|
||||||
#print("connected")
|
#print("connected")
|
||||||
|
|
||||||
break
|
break
|
||||||
@ -54,21 +62,19 @@ def displayPosition():
|
|||||||
position.strip()
|
position.strip()
|
||||||
coordinates_list = position.split(',')
|
coordinates_list = position.split(',')
|
||||||
#print(coordinates_list)
|
#print(coordinates_list)
|
||||||
show_ctrl_x.config(text = coordinates_list[1])
|
try:
|
||||||
show_ctrl_y.config(text = coordinates_list[2])
|
show_ctrl_x.config(text = coordinates_list[1])
|
||||||
show_ctrl_z.config(text = coordinates_list[3])
|
show_ctrl_y.config(text = coordinates_list[2])
|
||||||
|
show_ctrl_z.config(text = coordinates_list[3])
|
||||||
|
|
||||||
#show_ctrl_x_w.config(text = coordinates_list[4])
|
show_ctrl_x_w.config(text = coordinates_list[4])
|
||||||
#show_ctrl_y_w.config(text = coordinates_list[5])
|
show_ctrl_y_w.config(text = coordinates_list[5])
|
||||||
#show_ctrl_z_w.config(text = coordinates_list[6])
|
show_ctrl_z_w.config(text = coordinates_list[6])
|
||||||
|
except:
|
||||||
|
print("Listerror")
|
||||||
else:
|
else:
|
||||||
print("No Connection yet")
|
print("No Connection yet")
|
||||||
#show_ctrl_x.after(1000,displayPosition)
|
root.after(500,displayPosition)
|
||||||
|
|
||||||
def debugWrite():
|
|
||||||
time.sleep(3)
|
|
||||||
print("NOW")
|
|
||||||
|
|
||||||
|
|
||||||
def jogWrite(AXIS, CMD, scale):
|
def jogWrite(AXIS, CMD, scale):
|
||||||
DECIMAL = [0.1,1,10,100]
|
DECIMAL = [0.1,1,10,100]
|
||||||
@ -89,14 +95,14 @@ def latchWrite(CMD):
|
|||||||
if states[CMD] == '0':
|
if states[CMD] == '0':
|
||||||
states[CMD] = '1'
|
states[CMD] = '1'
|
||||||
if CMD == 'M3':
|
if CMD == 'M3':
|
||||||
spindle.config(bg='#A31621')
|
spindle.config(bg=attention) #A31621
|
||||||
if CMD == 'M6':
|
if CMD == 'M6':
|
||||||
tool.config(bg = '#E0CA3C')
|
tool.config(bg = toolchange)#E0CA3C
|
||||||
|
|
||||||
else:
|
else:
|
||||||
states[CMD] ='0'
|
states[CMD] ='0'
|
||||||
if CMD == 'M3':
|
if CMD == 'M3':
|
||||||
spindle.config(bg='#A2D729')
|
spindle.config(bg=loaded)#A2D729
|
||||||
if CMD == 'M6':
|
if CMD == 'M6':
|
||||||
tool.config(bg='grey')
|
tool.config(bg='grey')
|
||||||
|
|
||||||
@ -109,7 +115,7 @@ def latchWrite(CMD):
|
|||||||
if CMD == 'M8':
|
if CMD == 'M8':
|
||||||
if states['M8'] == '1':
|
if states['M8'] == '1':
|
||||||
grbl_command = (CMD)
|
grbl_command = (CMD)
|
||||||
coolant.config(bg ='#1F7A8C')
|
coolant.config(bg = cooling)#1F7A8C
|
||||||
else:
|
else:
|
||||||
grbl_command = ('M7')
|
grbl_command = ('M7')
|
||||||
coolant.config(bg ='grey')
|
coolant.config(bg ='grey')
|
||||||
@ -147,7 +153,7 @@ def openGCODE():
|
|||||||
GCODE = fd.askopenfile(title='Open a file', initialdir='/home/thomash/Environments/cnc/', filetypes=filetypes)
|
GCODE = fd.askopenfile(title='Open a file', initialdir='/home/thomash/Environments/cnc/', filetypes=filetypes)
|
||||||
|
|
||||||
if GCODE != 0:
|
if GCODE != 0:
|
||||||
fopen.config(bg='#A2D729')
|
fopen.config(bg= loaded)
|
||||||
else:
|
else:
|
||||||
fopen.config(bg = 'grey')
|
fopen.config(bg = 'grey')
|
||||||
|
|
||||||
@ -191,11 +197,13 @@ def grblWrite():
|
|||||||
GCODE.seek(0)
|
GCODE.seek(0)
|
||||||
for line in GCODE:
|
for line in GCODE:
|
||||||
#print("write")
|
#print("write")
|
||||||
l = line.strip(line) # Strip all EOL characters for streaming
|
l = line.strip() # Strip all EOL characters for streaming
|
||||||
l = line.split(";",0)
|
#l = line.split(";",1)
|
||||||
grbl_command = l[0]
|
grbl_command = l
|
||||||
|
print("GCODE",grbl_command)
|
||||||
|
|
||||||
sendGRBL(grbl_command)
|
sendGRBL(grbl_command)
|
||||||
infoScreen("finished")
|
|
||||||
GCODE.close()
|
GCODE.close()
|
||||||
fopen.config(bg = 'grey')
|
fopen.config(bg = 'grey')
|
||||||
|
|
||||||
@ -216,7 +224,7 @@ def sendGRBL(grbl_command):
|
|||||||
grbl_out = grbl.readline() # Wait for grbl response with carriage return
|
grbl_out = grbl.readline() # Wait for grbl response with carriage return
|
||||||
infoScreen(grbl_out)
|
infoScreen(grbl_out)
|
||||||
|
|
||||||
infoScreen("finished")
|
#infoScreen("finished")
|
||||||
|
|
||||||
#GUI Main
|
#GUI Main
|
||||||
buttonsize_x = 5
|
buttonsize_x = 5
|
||||||
@ -235,7 +243,7 @@ movement = Frame(root, relief = 'ridge', bd = BORDER)
|
|||||||
left = Button(root, text="-X", width = buttonsize_x, height = buttonsize_y, command = lambda:jogWrite('X', '-1', increments),bd = BORDER)
|
left = Button(root, text="-X", width = buttonsize_x, height = buttonsize_y, command = lambda:jogWrite('X', '-1', increments),bd = BORDER)
|
||||||
right = Button(root, text="+X",width = buttonsize_x, height = buttonsize_y,command = lambda:jogWrite('X', '1', increments),bd = BORDER)
|
right = Button(root, text="+X",width = buttonsize_x, height = buttonsize_y,command = lambda:jogWrite('X', '1', increments),bd = BORDER)
|
||||||
up = Button(root, text="+Y", width = buttonsize_x, height = buttonsize_y,command = lambda:jogWrite('Y', '1', increments),bd = BORDER)
|
up = Button(root, text="+Y", width = buttonsize_x, height = buttonsize_y,command = lambda:jogWrite('Y', '1', increments),bd = BORDER)
|
||||||
cancel = Button(root, text="cancel", width = buttonsize_x, height = buttonsize_y,bg = '#A31621', command = lambda:directWrite('133'),bd = BORDER)
|
cancel = Button(root, text="cancel", width = buttonsize_x, height = buttonsize_y,bg = attention, command = lambda:directWrite('…'),bd = BORDER)
|
||||||
down = Button(root, text="-Y",width = buttonsize_x, height = buttonsize_y,command = lambda:jogWrite('Y', '-1', increments),bd = BORDER)
|
down = Button(root, text="-Y",width = buttonsize_x, height = buttonsize_y,command = lambda:jogWrite('Y', '-1', increments),bd = BORDER)
|
||||||
z_up = Button(root, text="+Z",width = buttonsize_x, height = buttonsize_y,command = lambda:jogWrite('Z', '1', increments) ,bd = BORDER)
|
z_up = Button(root, text="+Z",width = buttonsize_x, height = buttonsize_y,command = lambda:jogWrite('Z', '1', increments) ,bd = BORDER)
|
||||||
z_down = Button(root, text="-Z",width = buttonsize_x, height = buttonsize_y,command = lambda:jogWrite('Z', '-1', increments),bd = BORDER)
|
z_down = Button(root, text="-Z",width = buttonsize_x, height = buttonsize_y,command = lambda:jogWrite('Z', '-1', increments),bd = BORDER)
|
||||||
@ -243,14 +251,16 @@ z_down = Button(root, text="-Z",width = buttonsize_x, height = buttonsize_y,comm
|
|||||||
zero_x = Button(root, text="zero X",width = buttonsize_x, height = buttonsize_y, command = lambda:zeroWrite('G92', 'X0' ),bd = BORDER)
|
zero_x = Button(root, text="zero X",width = buttonsize_x, height = buttonsize_y, command = lambda:zeroWrite('G92', 'X0' ),bd = BORDER)
|
||||||
zero_y = Button(root, text="zero Y",width = buttonsize_x, height = buttonsize_y, command = lambda:zeroWrite('G92', 'Y0' ),bd = BORDER)
|
zero_y = Button(root, text="zero Y",width = buttonsize_x, height = buttonsize_y, command = lambda:zeroWrite('G92', 'Y0' ),bd = BORDER)
|
||||||
zero_z = Button(root, text="zero Z",width = buttonsize_x, height = buttonsize_y, command = lambda:zeroWrite('G92', 'Z0' ),bd = BORDER)
|
zero_z = Button(root, text="zero Z",width = buttonsize_x, height = buttonsize_y, command = lambda:zeroWrite('G92', 'Z0' ),bd = BORDER)
|
||||||
zero_all =Button(root, text="zero All",width = buttonsize_x, height = buttonsize_y, command = lambda:zeroWrite('G92', 'G28.1'),bd = BORDER)
|
zero_all =Button(root, text="zero All",width = buttonsize_x, height = buttonsize_y, command = lambda:directWrite('G28.1'),bd = BORDER)
|
||||||
|
|
||||||
connect_ser = Button(root, text="Cnnct",width = buttonsize_x, height = buttonsize_y, command = grblConnect2, bg = 'grey',bd = BORDER)
|
connect_ser = Button(root, text="Cnnct",width = buttonsize_x, height = buttonsize_y, command = grblConnect2, bg = 'grey',bd = BORDER)
|
||||||
discon_ser = Button(root, text="Dsconct",width = buttonsize_x, height = buttonsize_y, command = lambda:grblClose(),bd = BORDER)
|
discon_ser = Button(root, text="Dsconct",width = buttonsize_x, height = buttonsize_y, command = lambda:grblClose(),bd = BORDER)
|
||||||
unlock = Button(root, text="Unlock",width = buttonsize_x, height = buttonsize_y, command = lambda:directWrite('$X'),bd = BORDER)
|
unlock = Button(root, text="Unlock",width = buttonsize_x, height = buttonsize_y, command = lambda:directWrite('$X'),bd = BORDER)
|
||||||
start = Button(root, text="START",width = buttonsize_x, height = buttonsize_y, bg = '#A31621', command = lambda: threading.Thread(target = grblWrite).start(),bd = BORDER)
|
start = Button(root, text="START",width = buttonsize_x, height = buttonsize_y, bg = attention, command = lambda: threading.Thread(target = grblWrite).start(),bd = BORDER)
|
||||||
stop = Button(root, text="STOP",width = buttonsize_x, height = buttonsize_y,bd = BORDER)
|
stop = Button(root, text="STOP",width = buttonsize_x, height = buttonsize_y,bd = BORDER, command = lambda: directWrite('') )
|
||||||
pause = Button(root, text="PAUSE",width = buttonsize_x, height = buttonsize_y, bg = '#1F7A8C',bd = BORDER)
|
pause = Button(root, text="PAUSE",width = buttonsize_x, height = buttonsize_y, bg = cooling,bd = BORDER,command = lambda: directWrite('!') )
|
||||||
|
resume = Button(root, text="RESUME",width = buttonsize_x, height = buttonsize_y,bd = BORDER,command = lambda: directWrite('~') )
|
||||||
|
|
||||||
fopen = Button(root, text="GCODE",width = buttonsize_x , height = buttonsize_y, bg = 'grey', command = openGCODE,bd = BORDER)
|
fopen = Button(root, text="GCODE",width = buttonsize_x , height = buttonsize_y, bg = 'grey', command = openGCODE,bd = BORDER)
|
||||||
|
|
||||||
spindle = Button(root, text="Spindle",width = buttonsize_x, height = buttonsize_y, bg = 'grey', command = lambda:latchWrite('M3'))
|
spindle = Button(root, text="Spindle",width = buttonsize_x, height = buttonsize_y, bg = 'grey', command = lambda:latchWrite('M3'))
|
||||||
@ -279,7 +289,7 @@ show_ctrl_x_w =Label(root, text = "X_POS_W", width = 8, height = 2, bg ='white',
|
|||||||
show_ctrl_y_w =Label(root, text = "Y_POS_W", width = 8, height = 2, bg ='white', relief = SUNKEN)
|
show_ctrl_y_w =Label(root, text = "Y_POS_W", width = 8, height = 2, bg ='white', relief = SUNKEN)
|
||||||
show_ctrl_z_w =Label(root, text = "Z_POS_W", width = 8, height = 2, bg ='white', relief = SUNKEN)
|
show_ctrl_z_w =Label(root, text = "Z_POS_W", width = 8, height = 2, bg ='white', relief = SUNKEN)
|
||||||
|
|
||||||
#threading.Thread(target= displayPosition()).start()
|
threading.Thread(target= displayPosition()).start()
|
||||||
|
|
||||||
feed_control = Scale(root, orient = HORIZONTAL, length = 400, label = "Feedrate",tickinterval = 20)
|
feed_control = Scale(root, orient = HORIZONTAL, length = 400, label = "Feedrate",tickinterval = 20)
|
||||||
|
|
||||||
@ -335,7 +345,8 @@ discon_ser.grid(row=7, column=1,padx=10, pady=10)
|
|||||||
unlock.grid(row=8, column=1,padx=10, pady=10)
|
unlock.grid(row=8, column=1,padx=10, pady=10)
|
||||||
start.grid(row=7, column=2,padx=10, pady=10)
|
start.grid(row=7, column=2,padx=10, pady=10)
|
||||||
stop.grid(row=7, column=3,padx=10, pady=10)
|
stop.grid(row=7, column=3,padx=10, pady=10)
|
||||||
pause.grid(row=8, column=2,padx=10, pady=10, columnspan = 1)
|
pause.grid(row=8, column=2,padx=10, pady=10)
|
||||||
|
resume.grid(row=8, column=3,padx=10, pady=10)
|
||||||
fopen.grid(row=8, column=0,padx=10, pady=10)
|
fopen.grid(row=8, column=0,padx=10, pady=10)
|
||||||
|
|
||||||
spindle.grid(row=7, column=4,padx=1, pady=10)
|
spindle.grid(row=7, column=4,padx=1, pady=10)
|
||||||
|
Loading…
Reference in New Issue
Block a user