def _recursive_write_and_return(self, cmd, timeout, retries): try: return serial_communication.write_and_return( cmd, TEMP_DECK_ACK, self._connection, timeout) except SerialNoResponse as e: retries -= 1 if retries <= 0: raise e sleep(DEFAULT_STABILIZE_DELAY) if self._connection: self._connection.close() self._connection.open() return self._recursive_write_and_return(cmd, timeout, retries)
def _recursive_write_and_return(self, cmd, timeout, retries, tag=None): if not tag: tag = f'magdeck {id(self)}' try: return serial_communication.write_and_return( cmd, MAG_DECK_ACK, self._connection, timeout, tag=tag) except SerialNoResponse as e: retries -= 1 if retries <= 0: raise e sleep(DEFAULT_STABILIZE_DELAY) if self._connection: self._connection.close() self._connection.open() return self._recursive_write_and_return( cmd, timeout, retries, tag=tag)
def _write_and_return(msg): return serial_communication.write_and_return(msg + '\r\n', 'ok\r\n', driver._connection, timeout=1)
def _write_and_return(msg): return serial_communication.write_and_return( msg + '\r\n\r\n', SMOOTHIE_ACK, robot._driver._connection, timeout=1)