Ignore tags files, merge.
[jelmer/at89prog.git] / delays.c
1 /* 
2         at89prog
3         (c) 2003-2004 Jelmer Vernooij <jelmer@samba.org>
4
5         This program is free software; you can redistribute it and/or modify
6         it under the terms of the GNU General Public License as published by
7         the Free Software Foundation; either version 2 of the License, or
8         (at your option) any later version.
9
10         This program is distributed in the hope that it will be useful,
11         but WITHOUT ANY WARRANTY; without even the implied warranty of
12         MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13         GNU General Public License for more details.
14
15         You should have received a copy of the GNU General Public License
16         along with this program; if not, write to the Free Software
17         Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18 */
19
20 #include "delays.h"
21 #include <stdio.h>
22 #include <unistd.h>
23 #include <sys/time.h>
24
25 /** (based on some timing code in ponyprog) */
26
27 void waitmicrosec(int n)
28 {
29         struct timeval t1, t2;
30
31         gettimeofday(&t1, NULL);
32         t2.tv_sec = 0; t2.tv_usec = n;
33         timeradd(&t1, &t2, &t1);
34         do {
35                 gettimeofday(&t2, NULL);
36         } while (timercmp(&t2, &t1, <));
37 }
38
39 void waitmillisec(int n)
40 {
41         waitmicrosec(n*1000);
42 }