Added label to show stimulation status.

parent 6b3d7603
......@@ -140,14 +140,29 @@ est_label.place(relx=0.015, rely=0.1, relwidth=0.076, relheight=0.52)
myFont = font.Font(family='Helvetica', size=12, weight='bold')
tit_text = Label(canvas4, text="Neuroestimulador", font = myFont, bg='LightCyan2')
tit_text.place(relx=0.1, rely=0.1, relwidth=0.15, relheight=0.1)
tit_text.place(relx=0.12, rely=0.1, relwidth=0.15, relheight=0.1)
tit_text = Label(canvas4, text="Gerenciador de protocolos", bg='LightCyan2')
tit_text.place(relx=0.1, rely=0.2, relwidth=0.15, relheight=0.1)
tit_text.place(relx=0.12, rely=0.2, relwidth=0.15, relheight=0.1)
ab_img = Image.open("img_ab.PNG")
ab_image = ImageTk.PhotoImage(ab_img.resize((20,20)))
button_ab = Button(canvas4, text=" Sobre", image=ab_image, compound="left", command = lambda:windowAbout())
button_ab.place(relx=0.1, rely=0.35, relwidth=0.15, relheight=0.15)
button_ab.place(relx=0.12, rely=0.35, relwidth=0.15, relheight=0.15)
status_text = Label(canvas4, text="Status: ", bg='LightCyan2')
status_text.place(relx=0.12, rely=0.55, relwidth=0.15, relheight=0.1)
global status_variable
status_variable = StringVar()
status_img_off = Image.open("img_off.PNG")
status_img_on = Image.open("img_on.PNG")
global status_image_off
global status_image_on
status_image_off = ImageTk.PhotoImage(status_img_off.resize((20,20)))
status_image_on = ImageTk.PhotoImage(status_img_on.resize((20,20)))
global status_display
status_display = Label(canvas4, textvariable = status_variable, compound="left", bg='LightCyan2')
status_display.place(relx=0.12, rely=0.65, relwidth=0.15, relheight=0.15)
#Função para escrita no log:
......@@ -710,7 +725,7 @@ def arduinoDetect():
def sendProtocol():
global stimStatus
if( stimStatus > 0):
writeToLog("Existe uma estimulação em andamento.")
writeToLog("Uma estimulação já está em andamento.")
return
try:
arduino.write(b'<')
......@@ -810,6 +825,7 @@ def sendProtocol():
writeToLog("Problema no envio do protocolo 3.")
writeToLog("Protocolos enviados e iniciados com sucesso.")
stimStatus = 1
updateStatus()
except:
writeToLog("Não foi possível enviar. Problema na conexão com Arduino.")
......@@ -830,6 +846,7 @@ def interruptProtocol():
if(receb == "IR"):
writeToLog("Protocolos interrompidos com sucesso.")
stimStatus = 0
updateStatus()
except:
writeToLog("Não foi possível enviar. Problema na conexão com Arduino.")
......@@ -848,12 +865,15 @@ def jumpProtocol():
print(receb)
if(receb == "AR"):
writeToLog("Protocolo avançado com sucesso.")
stimStatus += 1
stimStatus += 1
updateStatus()
if(stimStatus > 3):
stimStatus = 0
stimStatus = 0
updateStatus()
except:
writeToLog("Não foi possível enviar. Problema na conexão com Arduino.")
#Função para criar janela de "Sobre"
def windowAbout():
windowAb = Toplevel(root)
......@@ -865,6 +885,20 @@ def windowAbout():
aboutText = Label(windowAb, text="Programa gerenciador de protocolos \n Desenvolvido em Python3 \n Autor: Luís Eduardo Estradioto \n Projeto de Diplomação - Eng. Elétrica UFRGS \n Software sobre licença CC BY-SA 4.0 \n Mais detalhes de projeto: \n https://git.cta.if.ufrgs.br/neuroestimulador", bg='LightSteelBlue1')
aboutText.place(relx=0, rely=0.2, relwidth=1, relheight=0.8)
def updateStatus():
global stimStatus
global status_image_off
global status_image_on
global status_display
global status_variable
if( stimStatus == 0):
status_display.configure(image=status_image_off)
status_variable.set("Estimulação desligada")
else:
status_display.configure(image=status_image_on)
status_variable.set("Estimulação ativada: ")
def heartBeat():
if 'arduino' in globals():
try:
......@@ -885,5 +919,6 @@ def heartBeat():
root.after(2000,heartBeat)
updateStatus()
heartBeat()
root.mainloop()
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment