123456789101112131415161718192021222324252627282930313233343536373839404142 |
- #pragma once
- #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
|