def __init__(self, ca, watcher): Thread.__init__(self) self.name = 'SerialCom' self.loop = Event() self.ca = ca self.watcher = watcher #self.serial = Serial_io('/dev/ttyACM') #inicializa por defecto 'dev/ttyUSB' self.serial = Serial_io('/dev/ttyACM') self.isPrinting = False self.status = None
class SerialCom(Thread): def __init__(self, ca, watcher): Thread.__init__(self) self.name = 'SerialCom' self.loop = Event() self.ca = ca self.watcher = watcher #self.serial = Serial_io('/dev/ttyACM') #inicializa por defecto 'dev/ttyUSB' self.serial = Serial_io('/dev/ttyACM') self.isPrinting = False self.status = None def run(self): ''' espera que orderCertificate sea True para crear el cert y enviarlo ''' while not self.loop.is_set(): #revisa constantemente el puerto serial self.serial.receive_data() #recibe la orden de crear el certificado if self.serial.orderCertificate == True: #crea el certificado cert = self.ca.create() logging.debug('certificate: %s', cert) #lo envia a serial_id self.serial.open_certificate(cert) #cambia el flag self.serial.orderCertificate = False self.serial.send_data(20) self.isPrinting = True if self.isPrinting == True and self.serial.isPrinting == False: self.status = self.serial.report logging.debug('termino de imprimir: %s', self.status) #actualiza el tiempo en el sistema self.watcher.setTiempoActividad(self.status['print_duration']) self.isPrinting = False self.loop.wait(0.01) def quit(self): self.serial.close_com() self.loop.set()