def send_command(self, command, extra=''): """As seen on ACBr code Nas Darumas com MFD, em algumas situações o ECF pode ficar temporariamente inoperantente, enquanto a compactação da MFD está sendo efetuada. Nessa situação, o ECF retorna os seguintes códigos de erro: 35 - Relogio Inoperante ou 99 (não documentado). Segundo o Suporte Técnico da Daruma, quando este problema ocorre, devemos aguardar até que ele consiga responder corretamente. Esta rotina irá tentar enviar o comando por 10 vezes. Caso ela recebe os erros 35 ou 99... ele aguarda 100 milisegundos e tenta um novo envio... """ for t in range(10): try: retval = FS345.send_command(self, command, extra) except DriverError, e: if e.code == 99 or e.code == 35: log.debug('FS2100 >>> Error 99. Sleeping for 0.1') time.sleep(0.1) continue raise break
def __init__(self, port, consts=None): consts = consts or FS2100Constants FS345.__init__(self, port, consts)