summaryrefslogtreecommitdiff
path: root/n
diff options
context:
space:
mode:
authorschodet2005-11-06 18:05:01 +0000
committerschodet2005-11-06 18:05:01 +0000
commit3245fffe3baa04d95df63e20c1390c8a72928813 (patch)
tree8af15b47d8aa29e8e06d0481c70564ed6bfea00f /n
parent0cc8897a51d07baaf42db53f70c9c9aac5272b86 (diff)
Mise en commun des delay_ns, delay_us et delay_ms.
Ajout de UTILS_BOUND.
Diffstat (limited to 'n')
-rw-r--r--n/avr/modules/utils/utils.avr.h27
-rw-r--r--n/avr/modules/utils/utils.h36
-rw-r--r--n/avr/modules/utils/utils.host.h21
3 files changed, 36 insertions, 48 deletions
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));