Contiki 2.5
Main Page
Related Pages
Modules
Data Structures
Files
Examples
File List
Globals
core
sys
timer.h
Go to the documentation of this file.
1
/** \addtogroup sys
2
* @{ */
3
4
/**
5
* \defgroup timer Timer library
6
*
7
* The Contiki kernel does not provide support for timed
8
* events. Rather, an application that wants to use timers needs to
9
* explicitly use the timer library.
10
*
11
* The timer library provides functions for setting, resetting and
12
* restarting timers, and for checking if a timer has expired. An
13
* application must "manually" check if its timers have expired; this
14
* is not done automatically.
15
*
16
* A timer is declared as a \c struct \c timer and all access to the
17
* timer is made by a pointer to the declared timer.
18
*
19
* \note The timer library is not able to post events when a timer
20
* expires. The \ref etimer "Event timers" should be used for this
21
* purpose.
22
*
23
* \note The timer library uses the \ref clock "Clock library" to
24
* measure time. Intervals should be specified in the format used by
25
* the clock library.
26
*
27
* \sa \ref etimer "Event timers"
28
*
29
* @{
30
*/
31
32
33
/**
34
* \file
35
* Timer library header file.
36
* \author
37
* Adam Dunkels <adam@sics.se>
38
*/
39
40
/*
41
* Copyright (c) 2004, Swedish Institute of Computer Science.
42
* All rights reserved.
43
*
44
* Redistribution and use in source and binary forms, with or without
45
* modification, are permitted provided that the following conditions
46
* are met:
47
* 1. Redistributions of source code must retain the above copyright
48
* notice, this list of conditions and the following disclaimer.
49
* 2. Redistributions in binary form must reproduce the above copyright
50
* notice, this list of conditions and the following disclaimer in the
51
* documentation and/or other materials provided with the distribution.
52
* 3. Neither the name of the Institute nor the names of its contributors
53
* may be used to endorse or promote products derived from this software
54
* without specific prior written permission.
55
*
56
* THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
57
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
58
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
59
* ARE DISCLAIMED. IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
60
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
61
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
62
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
63
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
64
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
65
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
66
* SUCH DAMAGE.
67
*
68
* This file is part of the Contiki operating system.
69
*
70
* Author: Adam Dunkels <adam@sics.se>
71
*
72
* $Id: timer.h,v 1.2 2008/09/21 08:58:05 adamdunkels Exp $
73
*/
74
#ifndef __TIMER_H__
75
#define __TIMER_H__
76
77
#include "sys/clock.h"
78
79
/**
80
* A timer.
81
*
82
* This structure is used for declaring a timer. The timer must be set
83
* with timer_set() before it can be used.
84
*
85
* \hideinitializer
86
*/
87
struct
timer
{
88
clock_time_t start;
89
clock_time_t interval;
90
};
91
92
void
timer_set
(
struct
timer
*t, clock_time_t interval);
93
void
timer_reset
(
struct
timer
*t);
94
void
timer_restart
(
struct
timer
*t);
95
int
timer_expired
(
struct
timer
*t);
96
clock_time_t
timer_remaining
(
struct
timer
*t);
97
98
99
#endif
/* __TIMER_H__ */
100
101
/** @} */
102
/** @} */
Generated on Fri Aug 30 2013 12:34:07 for Contiki 2.5 by
1.8.3.1