FreeCalypso > hg > freecalypso-sw
comparison gsm-fw/gpf/osl/os_tim_fl.c @ 457:103b06ef644a
os_tim_fl.c: os_TimInit() done
author | Michael Spacefalcon <msokolov@ivan.Harhan.ORG> |
---|---|
date | Mon, 23 Jun 2014 05:33:13 +0000 |
parents | 6e54a3fb01b9 |
children | 705030e1e8b2 |
comparison
equal
deleted
inserted
replaced
456:6e54a3fb01b9 | 457:103b06ef644a |
---|---|
17 extern INT TMD_Timer_State; | 17 extern INT TMD_Timer_State; |
18 | 18 |
19 extern T_OS_TIMER_ENTRY TimerTable[]; | 19 extern T_OS_TIMER_ENTRY TimerTable[]; |
20 extern T_OS_TIMER_TABLE_ENTRY *p_list[]; | 20 extern T_OS_TIMER_TABLE_ENTRY *p_list[]; |
21 | 21 |
22 extern void os_Timeout(unsigned t_handle); | 22 extern void os_Timeout(UNSIGNED t_handle); |
23 extern void timer_error(int err); | 23 extern void timer_error(int err); |
24 | 24 |
25 unsigned os_time_to_tick_multiplier = TIME_TO_TICK_TDMA_FRAME_MULTIPLIER; | 25 unsigned os_time_to_tick_multiplier = TIME_TO_TICK_TDMA_FRAME_MULTIPLIER; |
26 unsigned os_tick_to_time_multiplier = TICK_TO_TIME_TDMA_FRAME_MULTIPLIER; | 26 unsigned os_tick_to_time_multiplier = TICK_TO_TIME_TDMA_FRAME_MULTIPLIER; |
27 | 27 |
63 sprintf(Buffer, "Maximum %d of %d available timers running", | 63 sprintf(Buffer, "Maximum %d of %d available timers running", |
64 max_used_timers, MaxSimultaneousTimer); | 64 max_used_timers, MaxSimultaneousTimer); |
65 t_info_read = 1; | 65 t_info_read = 1; |
66 return(OS_OK); | 66 return(OS_OK); |
67 } | 67 } |
68 | |
69 GLOBAL LONG | |
70 os_TimInit(void) | |
71 { | |
72 int i; | |
73 | |
74 if (NU_Create_Semaphore(&TimSemCB, "TIMSEM", 1, NU_PRIORITY) | |
75 != NU_SUCCESS) | |
76 return(OS_ERROR); | |
77 if (NU_Create_Timer(&os_timer_cb, "OS_TIMER", os_Timeout, 0, 1, 0, | |
78 NU_DISABLE_TIMER) != NU_SUCCESS) | |
79 return(OS_ERROR); | |
80 used_timers = 0; | |
81 max_used_timers = 0; | |
82 next_t_handle = 1; | |
83 t_list_access = 0; | |
84 t_start_ticks = 0; | |
85 p_list[0] = 0; | |
86 for (i = 1; i < MaxSimultaneousTimer; i++) { | |
87 TimerTable[i].entry.status = 0; | |
88 TimerTable[i].entry.next = 0; | |
89 TimerTable[i].entry.prev = 0; | |
90 TimerTable[i].next_t_handle = i + 1; | |
91 p_list[i] = 0; | |
92 } | |
93 TimerTable[MaxSimultaneousTimer].entry.status = 0; | |
94 TimerTable[MaxSimultaneousTimer].next_t_handle = 0; | |
95 t_running = 0; | |
96 return(OS_OK); | |
97 } |