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