code: def FromEncoded(cls, bindata):
          
  
          if len(bindata) != 8:
              raise ArgumentError("Invalid binary slot descriptor with invalid length", length=len(bindata), expected=8, data=bindata)
  
          slot, match_op = struct.unpack("<B6xB", bindata)
  
          match_name = cls.KNOWN_MATCH_CODES.get(match_op)
          if match_name is None:
              raise ArgumentError("Unknown match operation specified in binary slot descriptor", operation=match_op, known_match_ops=cls.KNOWN_MATCH_CODES)
  
          if match_name == 'match_controller':
              return SlotIdentifier(controller=True)
  
          if match_name == 'match_slot':
              return SlotIdentifier(slot=slot)
  
          raise ArgumentError("Unsupported match operation in binary slot descriptor", match_op=match_name)
docs: Create a slot identifier from an encoded binary descriptor.
  
          These binary descriptors are used to communicate slot targeting
          to an embedded device.  They are exactly 8 bytes in length.
  
          Args:
              bindata (bytes): The 8-byte binary descriptor.
  
          Returns:
              SlotIdentifier