original_docstring: 
      set pvs and waiting until the setting takes effect
  
      :param elemlst: element list
      :type elemlist: list of Elements
      :param v0: old values
      :type v0: list
      :param diffstd: threshold value of effective change of *pvmonitors*.
      :param wait: waiting time for initial, each step and final (seconds)
      :param maxtrial: maximum trial before return.
      :param unit: unit of field
      :param full: return total trials
  
      :return: whether pvmonitors change significant enough.
      :rtype: bool
  
      It sets the pvs with new values and tests the monitor values see if the
      changes are significant enough. This significance is measured by comparing
      the std of monitor value changes due to the *pvs* changes. If it exceeds
      *diffstd* then return, otherwise wait for *wait* seconds and test
      again. The maximum trial is *maxtrial*.
  
      It is good for ORM measurement where setting a trim and observing a list
      of BPM.
      
docstring: set pvs and waiting until the setting takes effect
docstring_tokens: set pvs and waiting until the setting takes effect
code: def _waitChanged(elemlst, fields, v0, **kwargs):
      """
      set pvs and waiting until the setting takes effect
  
      :param elemlst: element list
      :type elemlist: list of Elements
      :param v0: old values
      :type v0: list
      :param diffstd: threshold value of effective change of *pvmonitors*.
      :param wait: waiting time for initial, each step and final (seconds)
      :param maxtrial: maximum trial before return.
      :param unit: unit of field
      :param full: return total trials
  
      :return: whether pvmonitors change significant enough.
      :rtype: bool
  
      It sets the pvs with new values and tests the monitor values see if the
      changes are significant enough. This significance is measured by comparing
      the std of monitor value changes due to the *pvs* changes. If it exceeds
      *diffstd* then return, otherwise wait for *wait* seconds and test
      again. The maximum trial is *maxtrial*.
  
      It is good for ORM measurement where setting a trim and observing a list
      of BPM.
      """
  
      diffstd= kwargs.get('diffstd', 1e-6)
      wait = kwargs.get('wait', (2, 1, 0))
      maxtrial= kwargs.get('maxtrial', 20)
      full = kwargs.get('full', False)
      unitsys = kwargs.get('unitsys', None)
  
      if CA_OFFLINE:
          if full: return (True, 0)
          else: return True
  
      time.sleep(wait[0])
  
      ntrial = 0
      while True:
          v1 = np.ravel(eget(elemlst, fields, unitsys=unitsys))
          time.sleep(wait[1])
          ntrial = ntrial + 1
          if np.std(v1 - np.array(v0)) > diffstd: break
          if ntrial >= maxtrial: break
  
      time.sleep(wait[2])
  
      if full:
          if ntrial >= maxtrial: return (False, ntrial)
          else: return (True, ntrial)
      else:
          if ntrial >= maxtrial: return False
          else: return True
code_tokens: def _waitChanged ( elemlst , fields , v0 , ** kwargs ) : diffstd = kwargs . get ( 'diffstd' , 1e-6 ) wait = kwargs . get ( 'wait' , ( 2 , 1 , 0 ) ) maxtrial = kwargs . get ( 'maxtrial' , 20 ) full = kwargs . get ( 'full' , False ) unitsys = kwargs . get ( 'unitsys' , None ) if CA_OFFLINE : if full : return ( True , 0 ) else : return True time . sleep ( wait [ 0 ] ) ntrial = 0 while True : v1 = np . ravel ( eget ( elemlst , fields , unitsys = unitsys ) ) time . sleep ( wait [ 1 ] ) ntrial = ntrial + 1 if np . std ( v1 - np . array ( v0 ) ) > diffstd : break if ntrial >= maxtrial : break time . sleep ( wait [ 2 ] ) if full : if ntrial >= maxtrial : return ( False , ntrial ) else : return ( True , ntrial ) else : if ntrial >= maxtrial : return False else : return True
short_docstring: set pvs and waiting until the setting takes effect
short_docstring_tokens: set pvs and waiting until the setting takes effect
comment: """
      set pvs and waiting until the setting takes effect
  
      :param elemlst: element list
      :type elemlist: list of Elements
      :param v0: old values
      :type v0: list
      :param diffstd: threshold value of effective change of *pvmonitors*.
      :param wait: waiting time for initial, each step and final (seconds)
      :param maxtrial: maximum trial before return.
      :param unit: unit of field
      :param full: return total trials
  
      :return: whether pvmonitors change significant enough.
      :rtype: bool
  
      It sets the pvs with new values and tests the monitor values see if the
      changes are significant enough. This significance is measured by comparing
      the std of monitor value changes due to the *pvs* changes. If it exceeds
      *diffstd* then return, otherwise wait for *wait* seconds and test
      again. The maximum trial is *maxtrial*.
  
      It is good for ORM measurement where setting a trim and observing a list
      of BPM.
      """