wait.h 750 B

12345678910111213141516171819202122232425262728293031323334
  1. #ifndef WAIT_H
  2. #define WAIT_H
  3. #include <inttypes.h>
  4. #ifdef __cplusplus
  5. extern "C" {
  6. #endif
  7. #if defined(__AVR__)
  8. # include <util/delay.h>
  9. # define wait_ms(ms) _delay_ms(ms)
  10. # define wait_us(us) _delay_us(us)
  11. #elif defined PROTOCOL_CHIBIOS
  12. # include "ch.h"
  13. # if defined(STM32F3xx_MCUCONF)
  14. # define wait_ms(ms) chSysPolledDelayX(MS2RTC(STM32_HCLK, (ms)))
  15. # define wait_us(us) chSysPolledDelayX(US2RTC(STM32_HCLK, (us)))
  16. # else
  17. # define wait_ms(ms) chThdSleepMilliseconds(ms)
  18. # define wait_us(us) chThdSleepMicroseconds(us)
  19. # endif
  20. #elif defined(__arm__)
  21. # include "wait_api.h"
  22. #else // Unit tests
  23. void wait_ms(uint32_t ms);
  24. #define wait_us(us) wait_ms(us / 1000)
  25. #endif
  26. #ifdef __cplusplus
  27. }
  28. #endif
  29. #endif