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 }