ser.dtr = estados[c.estado_inicial].dtr ser.rts = estados[c.estado_inicial].rts estado_actual = c.estado_inicial except KeyError: print "no se especificó un estado inicial" estado_actual = 0 # si se especificá archivo de registro # crea una instancia de Registrador if c.archivo_registro != "": log = registro.Registrador(c) else: log = None # inicia timer (thread) para obtener estasetdo, procesar script, log etc. tim = timer.tick_timer(c.t_scan, timeout_scan, [ser, estados, c, log]) tim.start() while True: # lee comando de teclado cmd = "" cmd = raw_input().lower() if cmd == "d": print "deteniendo..." tim.stop() elif cmd == "r": print "reiniciando..." tim = timer.tick_timer(c.t_scan, timeout_scan, [ser, estados, c, log]) tim.start()
print "No se puede continuar con la ejecución" raise SystemExit # si se configuró archivo de registro # crea instancia de Registrador if archivo_registro != "": log = registro.Registrador(archivo_registro, reg_separador, reg_fecha, reg_hora, reg_solo_cambios) else: log = None separador = separador_c linea = "" cmd = "" tim = timer.tick_timer(t_scan, tim_func, [ser, log, separador]) tim.start() while True: # ingreso de string por teclado cmd = "" cmd = raw_input("").lower() # envía el string ingresado ser.write(cmd) if __name__ == "__main__": try: mainLoop() except KeyboardInterrupt:
# función que se ejecuta cuando # el timer tim_r llega al valor establecido def led_rojo(puerto): # invierte el estado de DTR puerto.dtr = not puerto.dtr # abre el puerto s = serial.Serial("/dev/ttyUSB1") # estado inicial de DTR y RTS (ambos -V) s.dtr = 0 s.rts = 0 # tim_v = instancia Timer con timeout 1 s, # función callback led_verde # a la que se le pasa s como parámetro tim_v = timer.tick_timer(1, led_verde, [s,]) # inicia timer tim_v.start() # tim_v = instancia Timer con timeout 1 s, # función callback led_verde # a la que se le pasa s como parámetro tim_r = timer.tick_timer(0.25, led_rojo, [s,]) # inicia timer tim_r.start() while True: pass
controldig.salidas = estados[controldig.c.estado_inicial].salidas controldig.ser.dtr = estados[controldig.c.estado_inicial].dtr controldig.ser.rts = estados[controldig.c.estado_inicial].rts estado_actual = controldig.c.estado_inicial except KeyError: print "no se especificó un estado inicial" estado_actual = 0 if controldig.c.archivo_registro != "": controldig.log = registro.Registrador(controldig.c) else: controldig.log = None # inicia timer (thread) para obtener estasetdo, procesar script, log etc. controldig.tim = timer.tick_timer( controldig.c.t_scan, timeout_scan, [controldig.ser, estados, controldig.c, controldig.log] ) controldig.tim.start() if __name__ == "__main__": gettext.install("app") # replace with the appropriate catalog name app = wx.PySimpleApp(0) wx.InitAllImageHandlers() frame_1 = mainUI(None, wx.ID_ANY, "") app.SetTopWindow(frame_1) frame_1.Show() inicio()