summaryrefslogtreecommitdiffstats
path: root/src/target/firmware/lib
diff options
context:
space:
mode:
Diffstat (limited to 'src/target/firmware/lib')
-rw-r--r--src/target/firmware/lib/Makefile2
-rw-r--r--src/target/firmware/lib/delay.c16
2 files changed, 17 insertions, 1 deletions
diff --git a/src/target/firmware/lib/Makefile b/src/target/firmware/lib/Makefile
index 987857c9..83f9966b 100644
--- a/src/target/firmware/lib/Makefile
+++ b/src/target/firmware/lib/Makefile
@@ -2,6 +2,6 @@
LIBRARIES+=mini
mini_DIR=lib
mini_SRCS=vsprintf.c string.c ctype.c printf.c console.c ctors.c \
- changebit.S clearbit.S div64.S lib1funcs.S memcpy.S memset.S setbit.S testchangebit.S testclearbit.S testsetbit.S
+ changebit.S clearbit.S delay.c div64.S lib1funcs.S memcpy.S memset.S setbit.S testchangebit.S testclearbit.S testsetbit.S
diff --git a/src/target/firmware/lib/delay.c b/src/target/firmware/lib/delay.c
new file mode 100644
index 00000000..443ca827
--- /dev/null
+++ b/src/target/firmware/lib/delay.c
@@ -0,0 +1,16 @@
+#include <delay.h>
+
+/* FIXME: We need properly calibrated delay loops at some point! */
+void delay_us(unsigned int us)
+{
+ volatile unsigned int i;
+
+ for (i= 0; i < us*4; i++) { i; }
+}
+
+void delay_ms(unsigned int ms)
+{
+ volatile unsigned int i;
+
+ for (i= 0; i < ms*1300; i++) { i; }
+}