| 174 | } |
| 175 | |
| 176 | void rt_ktime_hrtimer_init(rt_ktime_hrtimer_t timer, |
| 177 | const char *name, |
| 178 | rt_uint8_t flag, |
| 179 | void (*timeout)(void *parameter), |
| 180 | void *parameter) |
| 181 | { |
| 182 | /* parameter check */ |
| 183 | RT_ASSERT(timer != RT_NULL); |
| 184 | RT_ASSERT(timeout != RT_NULL); |
| 185 | |
| 186 | rt_memset(timer, 0, sizeof(struct rt_ktime_hrtimer)); |
| 187 | |
| 188 | timer->flag = flag & ~RT_TIMER_FLAG_ACTIVATED; |
| 189 | timer->timeout_func = timeout; |
| 190 | timer->parameter = parameter; |
| 191 | rt_strncpy(timer->name, name, RT_NAME_MAX - 1); |
| 192 | rt_list_init(&(timer->node)); |
| 193 | rt_completion_init(&timer->completion); |
| 194 | } |
| 195 | |
| 196 | rt_err_t rt_ktime_hrtimer_start(rt_ktime_hrtimer_t timer, unsigned long delay_cnt) |
| 197 | { |
no test coverage detected