### Navigation

- index
- modules |
- modules |
- next |
- previous |
- NEURON 7.3 documentation »
- neuron.exe/general »
- classes »

# Timer

class `Timer`
  Syntax:
    `timer = new Timer("stmt")`
  Description:
    Execute “stmt” at the end of each interval specified by timer.seconds(interval). The timer must be started and can be stopped. A Timer is used to implement the NEURON Main Menu ‣ Tools ‣ MovieRun in `nrn/lib/hoc/movierun.hoc`

  Example:

  >     load_file("nrngui.hoc")
  >     objref timer
  >     timer = new Timer("p()")
  >     invl = .2
  >     nstep = 10
  >     proc p() {local x
  >         istep += 1
  >         tt = startsw() - t0
  >         print istep, tt
  >         if (istep >= nstep) {
  >                 timer.end()
  >         }
  >         doNotify()
  >     }
  >     proc begin() {
  >         istep = 0
  >         timer.seconds(invl)
  >         t0 = startsw()
  >         tt = 0
  >         timer.start()
  >     }

  >     xpanel("Timer Demo")
  >         xbutton("Start", "begin()")
  >         xbutton("Stop", "timer.end()")
  >         xpvalue("Interval", &invl, 1)
  >         xpvalue("#steps", &nstep, 1)
  >         xpvalue("istep", &istep)
  >         xpvalue("t", &tt)
  >     xpanel()
  >     begin()

`Timer.``seconds`()
  Syntax:

    `interval = timer.seconds()`

    `interval = timer.seconds(interval)`

  Description:
    Specify the timer interval. Timer resolution is system dependent but is probably around 10 ms. The time it takes to execute the “stmt” is a part of the interval.

`Timer.``start`()
  Syntax:
    `timer.start()`
  Description:
    Start the timer. “stmt” will be called at the end of each interval defined by the argument to timer.seconds(interval).

`Timer.``end`()
  Syntax:
    `timer.end()`
  Description:
    Stop calling the “stmt”. At least on linux, this will prevent the calling of “stmt” at the end of the current interval.

### Navigation

- index
- modules |
- modules |
- next |
- previous |
- NEURON 7.3 documentation »
- neuron.exe/general »
- classes »