docs: def prepare_fw(bin_string):
      """Check that firmware is valid and return dict with binary data."""
      pads = len(bin_string) % 128  # 128 bytes per page for atmega328
      for _ in range(128 - pads):  # pad up to even 128 bytes
          bin_string += b'\xff'
      fware = {
          'blocks': int(len(bin_string) / FIRMWARE_BLOCK_SIZE),
          'crc': compute_crc(bin_string),
          'data': bin_string,
      }
      return fware