MCPcopy Create free account
hub / github.com/RT-Thread/rt-thread / rt_cputimer_init

Function rt_cputimer_init

components/drivers/cputime/cputimer.c:77–101  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

75}
76
77void rt_cputimer_init(rt_cputimer_t timer,
78 const char *name,
79 void (*timeout)(void *parameter),
80 void *parameter,
81 rt_uint64_t tick,
82 rt_uint8_t flag)
83{
84 /* parameter check */
85 RT_ASSERT(timer != RT_NULL);
86 RT_ASSERT(timeout != RT_NULL);
87 RT_ASSERT(clock_cpu_issettimeout() != RT_FALSE);
88
89 /* set flag */
90 timer->parent.flag = flag;
91
92 /* set deactivated */
93 timer->parent.flag &= ~RT_TIMER_FLAG_ACTIVATED;
94 timer->timeout_func = timeout;
95 timer->parameter = parameter;
96 timer->timeout_tick = tick + clock_cpu_gettime();
97 timer->init_tick = tick;
98
99 rt_list_init(&(timer->row));
100 rt_sem_init(&(timer->sem), "cputime", 0, RT_IPC_FLAG_PRIO);
101}
102
103rt_err_t rt_cputimer_delete(rt_cputimer_t timer)
104{

Callers 1

rt_cputime_sleepFunction · 0.85

Calls 4

clock_cpu_issettimeoutFunction · 0.85
clock_cpu_gettimeFunction · 0.85
rt_list_initFunction · 0.85
rt_sem_initFunction · 0.85

Tested by

no test coverage detected