]> git.donarmstrong.com Git - qmk_firmware.git/blob - tmk_core/common/wait.h
bdcb3f2a41c3822011fbb467ac8249858cb19df5
[qmk_firmware.git] / tmk_core / common / wait.h
1 #ifndef WAIT_H
2 #define WAIT_H
3
4 #include <inttypes.h>
5
6 #ifdef __cplusplus
7 extern "C" {
8 #endif
9
10 #if defined(__AVR__)
11 #   include <util/delay.h>
12 #   define wait_ms(ms)  _delay_ms(ms)
13 #   define wait_us(us)  _delay_us(us)
14 #elif defined(PROTOCOL_CHIBIOS)
15 #   include "ch.h"
16 #   define wait_ms(ms) chThdSleepMilliseconds(ms)
17 #   define wait_us(us) chThdSleepMicroseconds(us)
18 #elif defined(__arm__)
19 #   include "wait_api.h"
20 #else  // Unit tests
21 void wait_ms(uint32_t ms);
22 #define wait_us(us) wait_ms(us / 1000)
23 #endif
24
25 #ifdef __cplusplus
26 }
27 #endif
28
29 #endif