def protect(self, password=None, read_protect=False, protect_from=0):
        """Set password protection or permanent lock bits.

        If the *password* argument is None, all memory pages will be
        protected by setting the relevant lock bits (note that lock
        bits can not be reset). If valid NDEF management data is
        found, protect() also sets the NDEF write flag to read-only.

        All Tags of the NTAG21x family can alternatively be protected
        by password. If a *password* argument is provided, the
        protect() method writes the first 4 byte of the *password*
        string into the Tag's password (PWD) memory bytes and the
        following 2 byte of the *password* string into the password
        acknowledge (PACK) memory bytes. Factory default values are
        used if the *password* argument is an empty string. Lock bits
        are not set for password protection.

        The *read_protect* and *protect_from* arguments are only
        evaluated if *password* is not None. If *read_protect* is
        True, the memory protection bit (PROT) is set to require
        password verification also for reading of protected memory
        pages. The value of *protect_from* determines the first
        password protected memory page (one page is 4 byte) with the
        exception that the smallest set value is page 3 even if
        *protect_from* is smaller.

        """
        args = (password, read_protect, protect_from)
        return super(NTAG21x, self).protect(*args)
Set password protection or permanent lock bits.

        If the *password* argument is None, all memory pages will be
        protected by setting the relevant lock bits (note that lock
        bits can not be reset). If valid NDEF management data is
        found, protect() also sets the NDEF write flag to read-only.

        All Tags of the NTAG21x family can alternatively be protected
        by password. If a *password* argument is provided, the
        protect() method writes the first 4 byte of the *password*
        string into the Tag's password (PWD) memory bytes and the
        following 2 byte of the *password* string into the password
        acknowledge (PACK) memory bytes. Factory default values are
        used if the *password* argument is an empty string. Lock bits
        are not set for password protection.

        The *read_protect* and *protect_from* arguments are only
        evaluated if *password* is not None. If *read_protect* is
        True, the memory protection bit (PROT) is set to require
        password verification also for reading of protected memory
        pages. The value of *protect_from* determines the first
        password protected memory page (one page is 4 byte) with the
        exception that the smallest set value is page 3 even if
        *protect_from* is smaller.