static void timer_change_param_test(void) { kstat_t ret; ret = krhino_timer_change(NULL, TIMER0_ROUND, TIMER0_ROUND); TIMER_VAL_CHK(ret == RHINO_NULL_PTR); ret = krhino_timer_change(&timer_0_test, 0, TIMER0_ROUND); TIMER_VAL_CHK(ret == RHINO_SUCCESS); }
static void task_timer0_entry(void *arg) { kstat_t ret = 0; while (1) { /* check krhino_timer_change param */ timer_change_param_test(); ret = krhino_sem_create(&sem_0_test, "sem_0_test", 0); TIMER_VAL_CHK(ret == RHINO_SUCCESS); ret = krhino_timer_create(&timer_0_test, "timer_0_test", timer_0_func, TIMER0_ROUND * 10, TIMER0_ROUND * 10, (void *)TIMER0_MAGIC, 0); TIMER_VAL_CHK(ret == RHINO_SUCCESS); ret = krhino_timer_create(&timer_1_test, "timer_1_test", timer_1_func, TIMER0_ROUND * 20, TIMER0_ROUND * 20, (void *)TIMER0_MAGIC, 0); TIMER_VAL_CHK(ret == RHINO_SUCCESS); ret = krhino_timer_change(&timer_1_test, TIMER0_ROUND, TIMER0_ROUND); TIMER_VAL_CHK(ret == RHINO_SUCCESS); ret = krhino_timer_start(&timer_1_test); TIMER_VAL_CHK(ret == RHINO_SUCCESS); ret = krhino_timer_start(&timer_0_test); TIMER_VAL_CHK(ret == RHINO_SUCCESS); ret = krhino_sem_take(&sem_0_test, RHINO_WAIT_FOREVER); TIMER_VAL_CHK(ret == RHINO_SUCCESS); ret = krhino_sem_take(&sem_0_test, RHINO_WAIT_FOREVER); TIMER_VAL_CHK(ret == RHINO_SUCCESS); ret = krhino_timer_stop(&timer_0_test); TIMER_VAL_CHK(ret == RHINO_SUCCESS); ret = krhino_timer_del(&timer_0_test); TIMER_VAL_CHK(ret == RHINO_SUCCESS); ret = krhino_timer_stop(&timer_1_test); TIMER_VAL_CHK(ret == RHINO_SUCCESS); ret = krhino_timer_del(&timer_1_test); TIMER_VAL_CHK(ret == RHINO_SUCCESS); test_case_success++; PRINT_RESULT("timer change", PASS); krhino_sem_del(&sem_0_test); next_test_case_notify(); krhino_task_dyn_del(task_0_test); } }
int aos_timer_change(aos_timer_t *timer, int ms) { int ret; if (timer == NULL) { return -EINVAL; } ret = krhino_timer_change(timer->hdl, MS2TICK(ms), MS2TICK(ms)); if (ret == RHINO_SUCCESS) { return 0; } ERRNO_MAPPING(ret); }