equal
deleted
inserted
replaced
24 void cleanup_all(void) |
24 void cleanup_all(void) |
25 { |
25 { |
26 rt_task_delete(&timerloop_task); |
26 rt_task_delete(&timerloop_task); |
27 rt_alarm_delete(&timerloop_alarm); |
27 rt_alarm_delete(&timerloop_alarm); |
28 } |
28 } |
29 void stopTimer(void) |
29 void StopTimerLoop(void) |
30 { |
30 { |
31 stop_timer = 1; |
31 stop_timer = 1; |
32 rt_task_unblock(&timerloop_task); |
32 rt_task_unblock(&timerloop_task); |
33 } |
33 } |
34 |
34 |
55 }while ((ret = rt_task_sleep_until(last_alarm_set)) == 0); |
55 }while ((ret = rt_task_sleep_until(last_alarm_set)) == 0); |
56 }while (ret == -EINTR && !stop_timer ); |
56 }while (ret == -EINTR && !stop_timer ); |
57 printf("End of TimerLoop, code %d\n",ret); |
57 printf("End of TimerLoop, code %d\n",ret); |
58 } |
58 } |
59 |
59 |
60 void TimerLoop(TimerCallback_t init_callback) |
60 void StartTimerLoop(TimerCallback_t init_callback) |
61 { |
61 { |
62 int ret; |
62 int ret; |
63 stop_timer = 0; |
63 stop_timer = 0; |
64 |
64 |
65 ret = rt_alarm_create( &timerloop_alarm, NULL); |
65 ret = rt_alarm_create( &timerloop_alarm, NULL); |
84 if (ret) { |
84 if (ret) { |
85 printf("Failed to start timerloop_task, code %d\n",errno); |
85 printf("Failed to start timerloop_task, code %d\n",errno); |
86 goto error; |
86 goto error; |
87 } |
87 } |
88 |
88 |
89 // At first, TimeDispatch will call init_callback. |
|
90 pause(); |
|
91 |
89 |
92 error: |
90 error: |
93 cleanup_all(); |
91 cleanup_all(); |
94 } |
92 } |
95 |
93 |