aboutsummaryrefslogtreecommitdiffstats
path: root/tmk_core/common/wait.h
diff options
context:
space:
mode:
Diffstat (limited to 'tmk_core/common/wait.h')
-rw-r--r--tmk_core/common/wait.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/tmk_core/common/wait.h b/tmk_core/common/wait.h
new file mode 100644
index 000000000..bdcb3f2a4
--- /dev/null
+++ b/tmk_core/common/wait.h
@@ -0,0 +1,29 @@
+#ifndef WAIT_H
+#define WAIT_H
+
+#include <inttypes.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#if defined(__AVR__)
+# include <util/delay.h>
+# define wait_ms(ms) _delay_ms(ms)
+# define wait_us(us) _delay_us(us)
+#elif defined(PROTOCOL_CHIBIOS)
+# include "ch.h"
+# define wait_ms(ms) chThdSleepMilliseconds(ms)
+# define wait_us(us) chThdSleepMicroseconds(us)
+#elif defined(__arm__)
+# include "wait_api.h"
+#else // Unit tests
+void wait_ms(uint32_t ms);
+#define wait_us(us) wait_ms(us / 1000)
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif