summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorschodet2006-04-02 10:12:11 +0000
committerschodet2006-04-02 10:12:11 +0000
commitc927f32a735e1600cf6b50a315d204963cf5877e (patch)
treefae4e6ef90f32a3c0ba7091ac0cf95c58a67c60c
parente7d3f72a1b83a67cd9ac5b366de6fb2be0437166 (diff)
Ajout de UTILS_MIN et UTILS_MAX.
Corrections de timings dans utils_delay.
-rw-r--r--n/avr/modules/utils/utils.avr.h4
-rw-r--r--n/avr/modules/utils/utils.h6
2 files changed, 8 insertions, 2 deletions
diff --git a/n/avr/modules/utils/utils.avr.h b/n/avr/modules/utils/utils.avr.h
index 8338d96..bdba7f6 100644
--- a/n/avr/modules/utils/utils.avr.h
+++ b/n/avr/modules/utils/utils.avr.h
@@ -70,12 +70,12 @@ utils_delay (double s)
}
else if (cycles <= 255 * 3)
{
- uint8_t i = cycles;
+ uint8_t i = cycles / 3;
asm volatile ("1: dec %0\n\tbrne 1b" : "=r" (i) : "0" (i));
}
else if (cycles <= 65535 * 4)
{
- uint16_t i = cycles;
+ uint16_t i = cycles / 4;
asm volatile ("1: sbiw %0,1\n\tbrne 1b" : "=w" (i) : "0" (i));
}
else
diff --git a/n/avr/modules/utils/utils.h b/n/avr/modules/utils/utils.h
index 5a58f4b..6301505 100644
--- a/n/avr/modules/utils/utils.h
+++ b/n/avr/modules/utils/utils.h
@@ -67,6 +67,12 @@ utils_delay_ms (double ms)
v = max; \
} while (0)
+/** Return maximum of two values. */
+#define UTILS_MAX(a, b) ((a) > (b) ? (a) : (b))
+
+/** Return minimum of two values. */
+#define UTILS_MIN(a, b) ((a) < (b) ? (a) : (b))
+
/** Absolute value. */
#define UTILS_ABS(v) ((v) > 0 ? (v) : -(v))