class_docstr: Timer used to schedule events in the future or on a repeating schedule.
  
  Parameters
  ----------
  interval : float | 'auto'
      Time between events in seconds. The default is 'auto', which
      attempts to find the interval that matches the refresh rate of
      the current monitor. Currently this is simply 1/60.
  connect : function | None
      The function to call.
  iterations : int
      Number of iterations. Can be -1 for infinite.
  start : bool
      Whether to start the timer.
  app : instance of vispy.app.Application
      The application to attach the timer to.
class_docstr_tok: ["Timer","used","to","schedule","events","in","the","future","or","on","a","repeating","schedule",".","Parameters","--","--","--","--","--","interval",":","float","|","'auto'","Time","between","events","in","seconds",".","The","default","is","'auto","'",",","which","attempts","to","find","the","interval","that","matches","the","refresh","rate","of","the","current","monitor",".","Currently","this","is","simply","1\/60",".","connect",":","function","|","None","The","function","to","call",".","iterations",":","int","Number","of","iterations",".","Can","be","-1","for","infinite",".","start",":","bool","Whether","to","start","the","timer",".","app",":","instance","of","vispy.app.Application","The","application","to","attach","the","timer","to","."]
docstr: Start the timer.
  
  A timeout event will be generated every *interval* seconds.
  If *interval* is None, then self.interval will be used.
  
  If *iterations* is specified, the timer will stop after
  emitting that number of events. If unspecified, then
  the previous value of self.iterations will be used. If the value is
  negative, then the timer will continue running until stop() is called.
  
  If the timer is already running when this function is called, nothing
  happens (timer continues running as it did previously, without
  changing the interval, number of iterations, or emitting a timer
  start event).
docstr_tok: ["Start","the","timer",".","A","timeout","event","will","be","generated","every","*","interval","*","seconds",".","If","*","interval","*","is","None",",","then","self.interval","will","be","used",".","If","*","iterations","*","is","specified",",","the","timer","will","stop","after","emitting","that","number","of","events",".","If","unspecified",",","then","the","previous","value","of","self.iterations","will","be","used",".","If","the","value","is","negative",",","then","the","timer","will","continue","running","until","stop","(",")","is","called",".","If","the","timer","is","already","running","when","this","function","is","called",",","nothing","happens","(","timer","continues","running","as","it","did","previously",",","without","changing","the","interval",",","number","of","iterations",",","or","emitting","a","timer","start","event",")","."]
code: def start(self, interval=None, iterations=None):
      """Start the timer.
  
      A timeout event will be generated every *interval* seconds.
      If *interval* is None, then self.interval will be used.
  
      If *iterations* is specified, the timer will stop after
      emitting that number of events. If unspecified, then
      the previous value of self.iterations will be used. If the value is
      negative, then the timer will continue running until stop() is called.
  
      If the timer is already running when this function is called, nothing
      happens (timer continues running as it did previously, without
      changing the interval, number of iterations, or emitting a timer
      start event).
      """
      if self.running:
          return  # don't do anything if already running
      self.iter_count = 0
      if interval is not None:
          self.interval = interval
      if iterations is not None:
          self.max_iterations = iterations
      self._backend._vispy_start(self.interval)
      self._running = True
      self._first_emit_time = precision_time()
      self._last_emit_time = precision_time()
      self.events.start(type="timer_start")
  
file_path: vispy/vispy/app/timer.py
imports: from __future__ import division
  from ..util.event import Event, EmitterGroup
  from ..util.ptime import time
  from .base import BaseTimerBackend
  from .None import use_app, Application
label_desc: Use image node_id 7 for calling the Timer obj's underlying member method code with example usage: obj.start(interval, iterations) without return types