libmetal
sleep.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2018, Linaro Limited. and Contributors. All rights reserved.
3  *
4  * SPDX-License-Identifier: BSD-3-Clause
5  */
6 
7 /*
8  * @file freertos/sleep.h
9  * @brief FreeRTOS sleep primitives for libmetal.
10  */
11 
12 #ifndef __METAL_SLEEP__H__
13 #error "Include metal/sleep.h instead of metal/freertos/sleep.h"
14 #endif
15 
16 #ifndef __METAL_FREERTOS_SLEEP__H__
17 #define __METAL_FREERTOS_SLEEP__H__
18 
19 #include <FreeRTOS.h>
20 #include <task.h>
21 
22 #ifdef __cplusplus
23 extern "C" {
24 #endif
25 
26 static inline int __metal_sleep_usec(unsigned int usec)
27 {
28  const TickType_t xDelay = usec / portTICK_PERIOD_MS;
29 
30  vTaskDelay(xDelay);
31  return 0;
32 }
33 
36 #ifdef __cplusplus
37 }
38 #endif
39 
40 #endif /* __METAL_FREERTOS_SLEEP__H__ */
__metal_sleep_usec
static int __metal_sleep_usec(unsigned int usec)
Definition: sleep.h:26