The ADI service supports one on-board timer per context on a board. This on-board timer has 10 ms resolution. The timer generates periodic events. You specify both the period and number of events when invoking adiStartTimer.
To start the timer, call adiStartTimer and pass a context, a timeout value, and an event count value. A DONE event is generated when the timer expires.
If the count value is greater than one, a tick event is generated for each expiration of the timeout with a DONE event for the final expiration.
The timer can be reset or restarted with an additional call to adiStartTimer. When restarted, previous timer definitions are discarded and the timer begins with the new parameters.
Note: Unlike most Natural Access asynchronous functions, the timer is not automatically stopped when a call is released.
The following table lists the start timer events:
|
Event |
Description |
|---|---|
|
ADIEVN_TIMER_DONE |
Once the timer has completed (expired), the ADI service generates a DONE event with the value field set to CTA_REASON_FINISHED. A DONE event is received with an error in the value field only if the board has an error. If the timer is stopped by calling adiStopTimer, the value field is CTA_REASON_STOPPED. |
|
ADIEVN_TIMER_TICK |
If count is greater than 1, the ADI service generates a tick event for the first count-1 expirations. |
adiStopTimer stops the timer started with adiStartTimer. Once the timer has stopped, a DONE event is generated.
The following table lists the stop timer event:
|
Event |
Description |
|---|---|
|
ADIEVN_TIMER_DONE |
When the timer is stopped, a DONE event is generated with the value field set to CTA_REASON_STOPPED. |