From 3245fffe3baa04d95df63e20c1390c8a72928813 Mon Sep 17 00:00:00 2001 From: schodet Date: Sun, 6 Nov 2005 18:05:01 +0000 Subject: Mise en commun des delay_ns, delay_us et delay_ms. Ajout de UTILS_BOUND. --- n/avr/modules/utils/utils.avr.h | 27 --------------------------- n/avr/modules/utils/utils.h | 36 ++++++++++++++++++++++++++++++++++++ n/avr/modules/utils/utils.host.h | 21 --------------------- 3 files changed, 36 insertions(+), 48 deletions(-) (limited to 'n/avr/modules') diff --git a/n/avr/modules/utils/utils.avr.h b/n/avr/modules/utils/utils.avr.h index b9703dd..8338d96 100644 --- a/n/avr/modules/utils/utils.avr.h +++ b/n/avr/modules/utils/utils.avr.h @@ -90,33 +90,6 @@ utils_delay (double s) } } -/** Shortcut for delay (ns * 1e-9). */ -extern inline void -utils_delay_ns (double ns) __attribute__ ((always_inline)); -extern inline void -utils_delay_ns (double ns) -{ - utils_delay (ns * 1e-9); -} - -/** Shortcut for delay (us * 1e-6). */ -extern inline void -utils_delay_us (double us) __attribute__ ((always_inline)); -extern inline void -utils_delay_us (double us) -{ - utils_delay (us * 1e-6); -} - -/** Shortcut for delay (ms * 1e-3). */ -extern inline void -utils_delay_ms (double ms) __attribute__ ((always_inline)); -extern inline void -utils_delay_ms (double ms) -{ - utils_delay (ms * 1e-3); -} - extern inline void utils_reset (void) __attribute__ ((noreturn)); diff --git a/n/avr/modules/utils/utils.h b/n/avr/modules/utils/utils.h index 71731b3..535036a 100644 --- a/n/avr/modules/utils/utils.h +++ b/n/avr/modules/utils/utils.h @@ -31,4 +31,40 @@ # include "utils.host.h" #endif +/** Shortcut for delay (ns * 1e-9). */ +extern inline void +utils_delay_ns (double ns) __attribute__ ((always_inline)); +extern inline void +utils_delay_ns (double ns) +{ + utils_delay (ns * 1e-9); +} + +/** Shortcut for delay (us * 1e-6). */ +extern inline void +utils_delay_us (double us) __attribute__ ((always_inline)); +extern inline void +utils_delay_us (double us) +{ + utils_delay (us * 1e-6); +} + +/** Shortcut for delay (ms * 1e-3). */ +extern inline void +utils_delay_ms (double ms) __attribute__ ((always_inline)); +extern inline void +utils_delay_ms (double ms) +{ + utils_delay (ms * 1e-3); +} + +/** Bound a value between MIN and MAX. */ +#define UTILS_BOUND(v, min, max) \ + do { \ + if (v < min) \ + v = min; \ + else if (v > max) \ + v = max; \ + } while (0) + #endif /* utils_h */ diff --git a/n/avr/modules/utils/utils.host.h b/n/avr/modules/utils/utils.host.h index 44ab62c..e4c5183 100644 --- a/n/avr/modules/utils/utils.host.h +++ b/n/avr/modules/utils/utils.host.h @@ -29,27 +29,6 @@ void utils_delay (double s); -/** Shortcut for delay (ns * 1e-9). */ -extern inline void -utils_delay_ns (double ns) -{ - utils_delay (ns * 1e-9); -} - -/** Shortcut for delay (us * 1e-6). */ -extern inline void -utils_delay_us (double us) -{ - utils_delay (us * 1e-6); -} - -/** Shortcut for delay (ms * 1e-3). */ -extern inline void -utils_delay_ms (double ms) -{ - utils_delay (ms * 1e-3); -} - void utils_reset (void) __attribute__ ((noreturn)); -- cgit v1.2.3