code: async def update_firmware(
              self,
              firmware_file: str,
              loop: asyncio.AbstractEventLoop = None,
              explicit_modeset: bool = True) -> str:
          
          if None is loop:
              checked_loop = self._loop
          else:
              checked_loop = loop
          return await self._backend.update_firmware(firmware_file,
                                                     checked_loop,
                                                     explicit_modeset)
docs: Update the firmware on the Smoothie board.
  
          :param firmware_file: The path to the firmware file.
          :param explicit_modeset: `True` to force the smoothie into programming
                                   mode; `False` to assume it is already in
                                   programming mode.
          :param loop: An asyncio event loop to use; if not specified, the one
                       associated with this instance will be used.
          :returns: The stdout of the tool used to update the smoothie