def setMeterPassword(self, new_pwd, pwd="<STR_LIT>"):
result = False<EOL>self.setContext("<STR_LIT>")<EOL>try:<EOL><INDENT>if len(new_pwd) != <NUM_LIT:8> or len(pwd) != <NUM_LIT:8>:<EOL><INDENT>self.writeCmdMsg("<STR_LIT>")<EOL>self.setContext("<STR_LIT>")<EOL>return result<EOL><DEDENT>if not self.request(False):<EOL><INDENT>self.writeCmdMsg("<STR_LIT>")<EOL><DEDENT>else:<EOL><INDENT>if not self.serialCmdPwdAuth(pwd):<EOL><INDENT>self.writeCmdMsg("<STR_LIT>")<EOL><DEDENT>else:<EOL><INDENT>req_pwd = binascii.hexlify(new_pwd.zfill(<NUM_LIT:8>))<EOL>req_str = "<STR_LIT>" + req_pwd + "<STR_LIT>"<EOL>req_str += self.calc_crc16(req_str[<NUM_LIT:2>:].decode("<STR_LIT>"))<EOL>self.m_serial_port.write(req_str.decode("<STR_LIT>"))<EOL>if self.m_serial_port.getResponse(self.getContext()).encode("<STR_LIT>") == "<STR_LIT>":<EOL><INDENT>self.writeCmdMsg("<STR_LIT>")<EOL>result = True<EOL><DEDENT><DEDENT><DEDENT>self.serialPostEnd()<EOL><DEDENT>except:<EOL><INDENT>ekm_log(traceback.format_exc(sys.exc_info()))<EOL><DEDENT>self.setContext("<STR_LIT>")<EOL>return result<EOL>
Serial Call to set meter password.  USE WITH CAUTION.

        Args:
            new_pwd (str): 8 digit numeric password to set
            pwd (str): Old 8 digit numeric password.

        Returns:
            bool: True on completion with ACK.