- #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) \
- do { \
- if (ms != 0) { \
- chThdSleepMilliseconds(ms); \
- } else { \
- chThdSleepMicroseconds(1); \
- } \
- } while (0)
- # define wait_us(us) \
- do { \
- if (us != 0) { \
- chThdSleepMicroseconds(us); \
- } else { \
- chThdSleepMicroseconds(1); \
- } \
- } while (0)
- #elif defined PROTOCOL_ARM_ATSAM
- # include "clks.h"
- # define wait_ms(ms) CLK_delay_ms(ms)
- # define wait_us(us) CLK_delay_us(us)
- #else // Unit tests
- void wait_ms(uint32_t ms);
- # define wait_us(us) wait_ms(us / 1000)
- #endif
-
- #ifdef __cplusplus
- }
- #endif
-
- #endif
|