Ejemplo n.º 1
0
 def _recursive_get_info(self, retries) -> Mapping[str, str]:
     try:
         device_info = self._send_command(GCODES['DEVICE_INFO'])
         return utils.parse_device_information(device_info)
     except utils.ParseError as e:
         retries -= 1
         if retries <= 0:
             raise TempDeckError(e)
         sleep(DEFAULT_STABILIZE_DELAY)
         return self._recursive_get_info(retries)
Ejemplo n.º 2
0
 def _get_info(self, retries) -> Mapping[str, str]:
     last_e: Any = None
     for _ in range(retries):
         try:
             device_info = self._send_command(GCODES['DEVICE_INFO'])
             return utils.parse_device_information(device_info)
         except utils.ParseError as e:
             log.exception("tempdeck device information parse failure")
             last_e = e
             sleep(DEFAULT_STABILIZE_DELAY)
     if last_e:
         raise last_e
     else:
         raise TempDeckError('Unknown error in temperature module')
Ejemplo n.º 3
0
 async def get_device_info(self) -> Mapping[str, str]:
     _device_info_res = await self._write_and_wait(GCODES['DEVICE_INFO'])
     if _device_info_res:
         return utils.parse_device_information(_device_info_res)
     else:
         raise ThermocyclerError("Thermocycler did not return device info")