| 75 | } |
| 76 | |
| 77 | void 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 | |
| 103 | rt_err_t rt_cputimer_delete(rt_cputimer_t timer) |
| 104 | { |
no test coverage detected