docs: def get_user_name(self, uid, return_none_on_error=True):
          """Get user name
  
          :param uid: user number [1:16]
          :param return_none_on_error: return None on error
              TODO: investigate return code on error
          """
          response = self.raw_command(netfn=0x06, command=0x46, data=(uid,))
          if 'error' in response:
              if return_none_on_error:
                  return None
              raise Exception(response['error'])
          name = None
          if 'data' in response:
              data = response['data']
              if len(data) == 16:
                  # convert int array to string
                  n = ''.join(chr(data[i]) for i in range(0, len(data)))
                  # remove padded \x00 chars
                  n = n.rstrip("\x00")
                  if len(n) > 0:
                      name = n
          return name