FreeCalypso > hg > fc-magnetite
annotate src/g23m-gsm/rr/rr_tim.c @ 680:ee3ac8c617cb
armio.c: set GPIO2 output high initially
On TI-canonical platforms GPIO2 is DCD modem control output.  In TI's
original code the AI_InitIOConfig() function called from Init_Target()
would configure GPIO2 as an output and set the initial output value to
low, but then the init code in uartfax.c called from Init_Serial_Flows()
would immediately change it to high, corresponding to DCD not asserted.
The result is a momentary asserted-state glitch on the DCD output.
The present change eliminates this glitch, setting DCD output to
not-asserted initially like it should be.
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Thu, 25 Jun 2020 03:17:43 +0000 | 
| parents | 27a4235405c6 | 
| children | 
| rev | line source | 
|---|---|
| 
104
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2 +----------------------------------------------------------------------------- | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3 | Project : | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
4 | Modul : | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
5 +----------------------------------------------------------------------------- | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
6 | Copyright 2002 Texas Instruments Berlin, AG | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
7 | All rights reserved. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
8 | | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
9 | This file is confidential and a trade secret of Texas | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
10 | Instruments Berlin, AG | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
11 | The receipt of or possession of this file does not convey | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
12 | any rights to reproduce or disclose its contents or to | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
13 | manufacture, use, or sell anything it may describe, in | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
14 | whole, or in part, without the specific written consent of | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
15 | Texas Instruments Berlin, AG. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
16 +----------------------------------------------------------------------------- | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
17 | Purpose : This Modul defines the timer handling functions | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
18 | for the component DL of the mobile station | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
19 +----------------------------------------------------------------------------- | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
20 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
21 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
22 #ifndef RR_TIM_C | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
23 #define RR_TIM_C | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
24 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
25 #define ENTITY_RR | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
26 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
27 /*==== INCLUDES ===================================================*/ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
28 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
29 #include <string.h> | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
30 #include <stdlib.h> | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
31 #include <stddef.h> /* offsetof */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
32 #include <stdio.h> /* sprintf */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
33 #include "typedefs.h" | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
34 #include "pcm.h" | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
35 #include "pconst.cdg" | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
36 #include "mconst.cdg" | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
37 #include "message.h" | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
38 #include "ccdapi.h" | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
39 #include "vsi.h" | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
40 #include "custom.h" | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
41 #include "gsm.h" | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
42 #include "prim.h" | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
43 #include "cnf_rr.h" | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
44 #include "tok.h" | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
45 #include "rr.h" | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
46 #ifdef TI_PS_FF_AT_P_CMD_CTREG | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
47 #include "cl_shrd.h" | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
48 #endif /* TI_PS_FF_AT_P_CMD_CTREG */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
49 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
50 /*==== EXPORT =====================================================*/ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
51 /*==== PRIVAT =====================================================*/ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
52 #if !defined(ELEMENTS) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
53 #define ELEMENTS(array) (sizeof(array)/sizeof(array[0])) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
54 #endif /* !ELEMENTS */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
55 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
56 /*==== VARIABLES ==================================================*/ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
57 EXTERN UBYTE test_house; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
58 #ifdef TI_PS_FF_AT_P_CMD_CTREG | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
59 EXTERN T_TIME cast2T_Time(UBYTE tab_val); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
60 #else | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
61 EXTERN T_TIME lim_service_mode_time[25]; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
62 #endif /* TI_PS_FF_AT_P_CMD_CTREG */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
63 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
64 * In the old frame variant most of the timer handling is done | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
65 * in RR. RR has a timer pool and holds the dependency between | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
66 * logical timer and timer handle. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
67 * | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
68 * With the new frame variant this is simplified. RR uses a constant | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
69 * for the timer and gets back the this constant after timeout. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
70 * | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
71 * This is the reason why most of the functions are only needed for | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
72 * the old frame variant. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
73 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
74 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
75 /*==== FUNCTIONS ==================================================*/ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
76 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
77 #if defined(TIMER_TRACE) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
78 static void trace_timer (USHORT index, long value) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
79 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
80 GET_INSTANCE_DATA; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
81 /* Implements Measure#32: Row */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
82 static T_S2I_STRING const tim_names[] = | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
83 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
84 S2I_STRING("T3110"), | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
85 S2I_STRING("T3122"), | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
86 S2I_STRING("T3126"), | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
87 S2I_STRING("T_RESELECT"), | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
88 S2I_STRING("TREG"), | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
89 S2I_STRING("TABORT"), | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
90 S2I_STRING("T_NO_RESELECT"), | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
91 S2I_STRING("TIM_EXT_MEAS"), | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
92 #if defined FF_EOTD | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
93 S2I_STRING("TAPDU"), | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
94 #endif /* FF_EOTD */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
95 S2I_STRING("TNNN"), | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
96 S2I_STRING("TCSVALID"), | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
97 S2I_STRING("T_DEDICATED_MODE"), | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
98 S2I_STRING("T_PLMN_SEARCH"), | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
99 S2I_STRING("T_FAST_CS"), | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
100 S2I_STRING("T_NORMAL_CS") | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
101 }; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
102 switch(value) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
103 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
104 /* Implements Measure#32: Row 431, 432, 433 and 435 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
105 default:/* >0: start */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
106 TRACE_TIMER_P2 ("T-Start:%s=%lu", S2I_STRING(tim_names[index]), value); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
107 break; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
108 case 0:/* EQ 0: stop */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
109 TRACE_TIMER_P1 ("T-Stop:%s", S2I_STRING(tim_names[index])); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
110 break; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
111 case -1:/* -1: expire */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
112 TRACE_TIMER_P1 ("T-Expired:%s ", S2I_STRING(tim_names[index])); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
113 break; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
114 case -2:/* -2: check */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
115 if(rr_data->t_running[index]) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
116 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
117 TRACE_TIMER_P1 ("T-Check:%s active", S2I_STRING(tim_names[index])); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
118 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
119 else | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
120 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
121 TRACE_TIMER_P1 ("T-Check:%s inactive", S2I_STRING(tim_names[index])); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
122 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
123 break; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
124 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
125 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
126 #else | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
127 #define trace_timer(index,value) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
128 #endif /* TIMER_TRACE */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
129 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
130 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
131 +--------------------------------------------------------------------+ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
132 | PROJECT : GSM-PS (6147) MODULE : RR_TIM | | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
133 | STATE : code ROUTINE : tim_t3110 | | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
134 +--------------------------------------------------------------------+ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
135 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
136 PURPOSE : Timeout of timer T3110. Timer is started after reception | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
137 of channel release message and controls layer 2 disconnection. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
138 It starts the configuration of idle mode, if layer 2 has | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
139 not signalled in time the disconnection of the layer 2 link. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
140 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
141 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
142 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
143 GLOBAL void tim_t3110 (void) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
144 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
145 GET_INSTANCE_DATA; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
146 TRACE_FUNCTION ("tim_t3110()"); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
147 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
148 if (GET_STATE (STATE_DAT) EQ DAT_CHAN_REL) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
149 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
150 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
151 * Send STOP_DEDICATED_REQUEST to L1 and wait for confirmation | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
152 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
153 att_stop_dedicated(); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
154 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
155 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
156 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
157 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
158 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
159 +--------------------------------------------------------------------+ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
160 | PROJECT : GSM-PS (6147) MODULE : RR_TIM | | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
161 | STATE : code ROUTINE : tim_t3122 | | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
162 +--------------------------------------------------------------------+ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
163 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
164 PURPOSE : Timeout of timer T3122. Started after reception of an | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
165 immediate assignment reject message. MM does not start | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
166 any new establishment during the timer is running. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
167 After timeout MM is informed. New attempts from MM can | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
168 be started. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
169 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
170 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
171 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
172 GLOBAL void tim_t3122 (void) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
173 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
174 GET_INSTANCE_DATA; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
175 PALLOC (sync, RR_SYNC_IND); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
176 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
177 TRACE_FUNCTION ("tim_t3122()"); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
178 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
179 switch (GET_STATE (STATE_DAT)) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
180 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
181 case DAT_NULL: | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
182 case DAT_CELL_RESELECT: | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
183 case DAT_IDLE: | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
184 case DAT_IMM_ASS: | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
185 case DAT_IMM_ASS_1: | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
186 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
187 * send the indication to MM that T3122 has | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
188 * timed-out. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
189 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
190 sync->ciph = NOT_PRESENT_8BIT; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
191 sync->chm.ch_mode = NOT_PRESENT_8BIT; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
192 sync->synccs = SYNCCS_T3122_TIM_OUT; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
193 memset(&sync->mm_info, 0, sizeof(T_mm_info)); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
194 sync->mm_info.valid = FALSE; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
195 memset(&sync->bcch_info, 0, sizeof(T_bcch_info)); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
196 sync->bcch_info.v_bcch = FALSE; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
197 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
198 PSENDX (MM, sync); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
199 srv_use_stored_prim (); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
200 break; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
201 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
202 default: | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
203 PFREE (sync); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
204 break; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
205 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
206 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
207 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
208 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
209 +--------------------------------------------------------------------+ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
210 | PROJECT : GSM-PS (6147) MODULE : RR_TIM | | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
211 | STATE : code ROUTINE : tim_t3126 | | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
212 +--------------------------------------------------------------------+ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
213 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
214 PURPOSE : Timeout of timer T3126. This timer is used for two cases. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
215 1. It controls that all random bursts are send during a | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
216 certain time. If (why ever) layer 1 does not confirm | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
217 all outgoing random bursts, this timer prevents RR | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
218 from stucking. This functionality is not described in | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
219 GSM and is introduced for security reasons. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
220 2. It controls the reception of an immediate assignment | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
221 message. This is the normal GSM functionality. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
222 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
223 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
224 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
225 GLOBAL void tim_t3126 (void) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
226 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
227 GET_INSTANCE_DATA; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
228 TRACE_FUNCTION ("tim_t3126()"); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
229 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
230 if (GET_STATE (STATE_DAT) EQ DAT_IMM_ASS) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
231 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
232 if (rr_data->ms_data.all_conf_received) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
233 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
234 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
235 * Normal GSM functionality. Control of the | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
236 * reception of immediate assignment messages. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
237 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
238 TRACE_EVENT ("Immediate Assignment failed"); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
239 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
240 dat_send_release_ind ( RRCS_RND_ACC_FAIL ); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
241 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
242 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
243 * Check if we have to do a cell reselection | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
244 * or if we can return directly to idle mode in the current | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
245 * cell | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
246 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
247 TRACE_EVENT("check rej_rec"); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
248 if (rr_data->imm_ass_rej_rec NEQ TRUE) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
249 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
250 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
251 * search for idle mode cell | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
252 * (exclude current serving cell, because | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
253 * the random access was unsuccessfull) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
254 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
255 #ifdef GPRS | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
256 if(att_gprs_cell_has_pbcch()) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
257 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
258 /*XY: inform GRR, and don't wait for CR_RSP we will get a CR_REQ in this case */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
259 att_rrgrr_cr_ind(CR_REQ_CANDIDATE); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
260 rr_data->gprs_data.start_proc = START_PROC_NOTHING; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
261 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
262 else | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
263 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
264 #endif | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
265 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
266 TRACE_EVENT_P1("rr_data->c_ncell_bcch: %x",rr_data->c_ncell_bcch); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
267 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
268 /*There are three scenarios to be considered */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
269 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
270 * i - The first MPH_MEASUREMENT_IND has not yet arrived | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
271 * ii - The first MPH_MEASUREMENT_IND has arrived but not all | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
272 * the SIs have been received | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
273 * (These are managed below) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
274 * | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
275 * iii - The first MPH_MEASUREMENT_IND has arrived and all the | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
276 * SIs have been received AND a reselection is pending | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
277 * This is managed in 'att_bcch_status_to_decoded()' | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
278 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
279 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
280 if(((rr_data->first_meas_received EQ TRUE) AND (rr_data->c_ncell_bcch EQ 0)) OR | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
281 /* Implements RR Clone findings #8 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
282 att_cell_barred_status_cr_no_cr (SC_INDEX) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
283 OR | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
284 (rr_data->nc_data[SC_INDEX].c1 <= 0)) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
285 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
286 /*XY:n inform GRR, and wait for CR_RSP */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
287 #ifdef GPRS | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
288 att_start_cell_reselection_gprs (CELL_RESELECTION_RACH); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
289 #else | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
290 att_start_cell_reselection (CELL_RESELECTION_RACH); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
291 #endif | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
292 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
293 else | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
294 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
295 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
296 * continue camping on current SC until indication of ncell BCCH info | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
297 * after first measurement indication | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
298 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
299 rr_data->resel_pending = TRUE; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
300 att_return_to_idle(); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
301 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
302 #ifdef GPRS | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
303 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
304 #endif | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
305 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
306 else | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
307 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
308 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
309 * we have received an IMMEDIATE ASSIGNMENT REJECT | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
310 * (the random access procedure was successfull, meaning | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
311 * that an answer was received from the network, even | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
312 * if the answer was negative) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
313 * In this case we go directly back to the current | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
314 * serving cell | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
315 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
316 #ifdef GPRS | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
317 if(att_gprs_cell_has_pbcch()) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
318 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
319 /*XY: inform GRR, and don't wait for CR_RSP */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
320 att_rrgrr_cr_ind(CR_SUSPENDED_IDLE); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
321 rr_data->gprs_data.start_proc = START_PROC_NOTHING; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
322 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
323 #endif | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
324 att_return_to_idle(); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
325 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
326 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
327 else | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
328 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
329 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
330 * Layer 1 has not confirmed all outgoing random bursts | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
331 * in time. Simulate that all confirmations have received | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
332 * and start second part of connection establishment | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
333 * with waiting for the immediate assignment. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
334 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
335 TRACE_TIMER ("missing random acc cnf"); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
336 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
337 TIMERSTART (T3126, T3126_VALUE); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
338 rr_data->ms_data.all_conf_received = TRUE; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
339 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
340 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
341 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
342 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
343 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
344 +--------------------------------------------------------------------+ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
345 | PROJECT : GSM-PS (6147) MODULE : RR_TIM | | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
346 | STATE : code ROUTINE : tim_treselect | | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
347 +--------------------------------------------------------------------+ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
348 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
349 PURPOSE : Timeout of timer T_RESELECT. The timer controls reception | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
350 of the whole BCCH during cell selection and cell reselection. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
351 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
352 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
353 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
354 GLOBAL void tim_treselect (void) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
355 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
356 GET_INSTANCE_DATA; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
357 TRACE_FUNCTION ("tim_treselect()"); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
358 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
359 switch (GET_STATE (STATE_ATT)) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
360 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
361 case ATT_CS2: | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
362 #ifdef GPRS | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
363 if((rr_data->cr_data.cd.sys_info_read EQ SYS_INFO_EXCEPT_SI13) AND test_house) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
364 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
365 if(rr_data->ms_data.rr_service EQ LIMITED_SERVICE) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
366 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
367 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
368 * We have found a 'potential' cell for limited service | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
369 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
370 rr_data->nc_data[CR_INDEX].si13_loc_ind = SI13_NOT_PRESENT; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
371 SET_STATE(STATE_GPRS, GPRS_ACTIVATED); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
372 att_check_bcch_carrier (); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
373 return; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
374 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
375 else | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
376 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
377 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
378 * There is a problem with some R&S tests where SI13 is indicated | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
379 * in SI3/4 but there is no SI13 transmitted by the tester. RR continues | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
380 * to wait to for SI13 having successfully received all other SI's from L1 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
381 * | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
382 * The timeout of T_RESELECT would cause this cell to be ignored and | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
383 * RR would have instructed L1 to check the next BSIC. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
384 * Thus, it can happen that after a failed scan of all subsequent frequencies, | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
385 * MM is indicated with "no cell available" i.e. we lose a GSM-only healthy cell | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
386 * | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
387 * Mark the current arfcn as being eligible for LIM service, which RR can camp | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
388 * onto on the next pass when looking for emergency cells. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
389 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
390 if(dat_forb_lai_check (CR_INDEX)) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
391 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
392 att_store_plmn_in_found_list (&rr_data->nc_data[CR_INDEX].lai); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
393 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
394 else | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
395 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
396 TRACE_EVENT ("Do not store Forbidden LAI PLMN in the found PLMN list"); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
397 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
398 cs_set_attributes (EMERGENCY_CELL, rr_data->nc_data[CR_INDEX].arfcn); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
399 TRACE_EVENT_P1("Setting %x as EMERG", rr_data->nc_data[CR_INDEX].arfcn); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
400 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
401 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
402 #endif | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
403 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
404 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
405 * Sometimes SI 2Ter is indicated, but it is never sent | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
406 * With this patch the inconsistent BCCH is taken. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
407 * Fix for defect OMAPS00069058: SI13 is indicated on EBCCH, but never | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
408 * received. The fix avoids ignoring this cell on TRESELECT timeout. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
409 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
410 if ( (rr_data->cr_data.cd.sys_info_read EQ SYS_INFO_EXCEPT_2TER) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
411 #ifdef GPRS | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
412 OR | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
413 (rr_data->cr_data.cd.sys_info_read EQ SYS_INFO_EXCEPT_SI13) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
414 #endif | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
415 ) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
416 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
417 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
418 * if at least the rest is available, check the | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
419 * BCCH carrier to camp on a cell. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
420 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
421 #ifdef GPRS | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
422 if ( (rr_data->cr_data.cd.sys_info_read EQ SYS_INFO_EXCEPT_SI13) AND | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
423 (GET_STATE (STATE_GPRS) EQ GPRS_PIM_BCCH ) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
424 ) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
425 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
426 rr_data->nc_data[CR_INDEX].si13_loc_ind = SI13_NOT_PRESENT; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
427 SET_STATE(STATE_GPRS, GPRS_ACTIVATED); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
428 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
429 #endif | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
430 att_check_bcch_carrier (); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
431 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
432 else | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
433 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
434 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
435 * initialise the internal data for the next candidate, | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
436 * because the BCCH is not completely available. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
437 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
438 srv_clear_list (&rr_data->cr_data.cd.ncell_list); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
439 if (cs_sync_next ()) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
440 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
441 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
442 * start FB/SB reading for the next channel. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
443 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
444 SET_STATE (STATE_ATT, ATT_CS1); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
445 #ifdef GPRS | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
446 if (GET_STATE (STATE_GPRS) EQ GPRS_PIM_BCCH ) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
447 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
448 SET_STATE(STATE_GPRS, GPRS_ACTIVATED); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
449 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
450 #endif | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
451 rr_data->old_serving_cell = NOT_PRESENT_8BIT; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
452 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
453 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
454 break; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
455 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
456 case ATT_CS3: | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
457 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
458 if (rr_data->cr_data.cd.sys_info_read EQ SYS_INFO_EXCEPT_2TER) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
459 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
460 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
461 * if all sys infos except SI 2Ter is available, check the | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
462 * BCCH carrier to camp on a cell. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
463 * When GPRS is activate, ATT_STATE is changed from ATT_CS3 to | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
464 * ATT_IDLE following reception of rrgrr_cr_req from GRR. Hence | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
465 * it not approprite to check for ATT_STATE for cell reselection | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
466 * completion. A new flag has been introduced for this purpose. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
467 * This is s temporary solution, untill CQ 24632 is submitted | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
468 * where the SI2TER functionality will be cleaned up. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
469 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
470 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
471 rr_data->cr_treselect_exp = FALSE; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
472 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
473 att_check_bcch_carrier (); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
474 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
475 if(rr_data->cr_treselect_exp) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
476 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
477 TRACE_EVENT("Cell Reselection Success"); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
478 /* cell reselection completed */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
479 return; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
480 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
481 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
482 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
483 TRACE_EVENT ("cell reselection failed"); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
484 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
485 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
486 * reset the paging received flag. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
487 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
488 rr_data->pag_rec = FALSE; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
489 srv_clear_stored_prim (MPH_PAGING_IND); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
490 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
491 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
492 * Indicate failed reestablishment earlier | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
493 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
494 if (rr_data->sc_data.selection_type EQ BACK_FROM_DEDICATED_RLF) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
495 dat_code_reestablishment_fail (); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
496 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
497 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
498 * start a cell selection after timeout. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
499 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
500 rr_data->old_serving_cell = NOT_PRESENT_8BIT; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
501 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
502 /*XY:n don't inform GRR , but call start_cs anyway */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
503 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
504 /* Cell Selection Improvements-LLD section:4.1.3.9 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
505 * Cell reselection fails due to T_RESELECT timer expiry | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
506 * Start Fast search | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
507 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
508 #ifdef GPRS | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
509 att_start_cell_selection_gprs (RR_ORIGINATED,FAST_SEARCH_MODE); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
510 #else | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
511 att_start_cell_selection (RR_ORIGINATED, CS_NOT_PARALLEL ,FAST_SEARCH_MODE); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
512 #endif | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
513 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
514 break; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
515 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
516 case ATT_IDLE: | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
517 case ATT_CON_EST: | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
518 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
519 * Parallel scanning for a channel in idle mode has failed. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
520 * Initialize the data for the next channel and start | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
521 * FB/SB reading for this channel. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
522 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
523 #ifdef GPRS | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
524 if( rr_data->sc_data.selection_type EQ CELL_RESELECTION_ON_GPRS_ACT) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
525 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
526 /* Cell Selection Improvements-LLD section:4.1.3.9 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
527 * GPRS activation on current cell fails due to T_RESELECT timer | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
528 * expiry | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
529 * Start Fast search | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
530 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
531 att_start_cell_selection_gprs(MM_ORIGINATED,FAST_SEARCH_MODE); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
532 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
533 else | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
534 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
535 #endif | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
536 srv_clear_list (&rr_data->cr_data.cd.ncell_list); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
537 cs_sync_next (); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
538 #ifdef GPRS | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
539 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
540 #endif | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
541 break; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
542 case ATT_CS_INIT: | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
543 /* Boot Time Performance Enhancement: | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
544 * RR has not received the normal RR_ACTIVATE_REQ yet | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
545 * Free the stored power_cnf and move back to ATT_NULL | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
546 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
547 if( srv_check_stored_prim(MPH_POWER_CNF)) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
548 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
549 srv_clear_stored_prim(MPH_POWER_CNF); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
550 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
551 SET_STATE(STATE_CELL_SEL, CS_NULL); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
552 SET_STATE(STATE_ATT, ATT_NULL); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
553 break; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
554 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
555 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
556 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
557 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
558 +--------------------------------------------------------------------+ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
559 | PROJECT : GSM-PS (6147) MODULE : RR_TIM | | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
560 | STATE : code ROUTINE : tim_plmn_search_expiry | | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
561 +--------------------------------------------------------------------+ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
562 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
563 PURPOSE : This timer expires to signal end on Manual cell selection. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
564 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
565 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
566 GLOBAL void tim_plmn_search_expiry (void) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
567 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
568 GET_INSTANCE_DATA; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
569 if(rr_data->ms_data.req_mm_service EQ FUNC_NET_SRCH_BY_MMI) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
570 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
571 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
572 * Mark all ARFCN's as Checked ! | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
573 * After the next MPH_BSIC_CNF & MPH_UNITDATA_IND, | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
574 * cs_sync_next_bsic() will return FALSE. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
575 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
576 UBYTE i; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
577 for ( i=0; i < rr_data->cs_data.max_arfcn; i++ ) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
578 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
579 rr_data->cs_data.attributes[i] |= CS_CHECK_FLAG; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
580 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
581 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
582 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
583 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
584 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
585 +--------------------------------------------------------------------+ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
586 | PROJECT : GSM-PS (6147) MODULE : RR_TIM | | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
587 | STATE : code ROUTINE : tim_tfast_cs | | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
588 +--------------------------------------------------------------------+ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
589 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
590 PURPOSE : This timer expires to signal end on Fast Search. Currently | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
591 this function just traces the Black Listed channels | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
592 CSI-LLD section:4.1.3.4.1.9 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
593 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
594 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
595 GLOBAL void tim_tfast_cs(void) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
596 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
597 TRACE_FUNCTION("tim_tfast_cs()"); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
598 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
599 srv_trace_black_list(); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
600 srv_trace_white_list(); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
601 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
602 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
603 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
604 +--------------------------------------------------------------------+ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
605 | PROJECT : GSM-PS (6147) MODULE : RR_TIM | | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
606 | STATE : code ROUTINE : tim_tnormal_cs | | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
607 +--------------------------------------------------------------------+ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
608 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
609 PURPOSE : This timer expires to signal end on Normal search.Currently | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
610 this function just traces the Black Listed channels | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
611 CSI-LLD section:4.1.3.4.1.10 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
612 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
613 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
614 GLOBAL void tim_tnormal_cs(void) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
615 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
616 TRACE_FUNCTION("tim_tnormal_cs()"); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
617 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
618 srv_trace_black_list(); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
619 srv_trace_white_list(); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
620 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
621 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
622 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
623 +--------------------------------------------------------------------+ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
624 | PROJECT : GSM-PS (6147) MODULE : RR_TIM | | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
625 | STATE : code ROUTINE : att_reset_registration_timer | | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
626 +--------------------------------------------------------------------+ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
627 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
628 PURPOSE : This function stops the registration timer early on | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
629 request of MMI / Keypad driver. This function can be called | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
630 to avoid too long periods between search attempts to come | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
631 back to coverage. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
632 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
633 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
634 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
635 GLOBAL void tim_reset_registration_timer (void) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
636 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
637 GET_INSTANCE_DATA; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
638 T_TIME status = 0; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
639 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
640 TRACE_FUNCTION ("tim_reset_registration_timer()"); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
641 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
642 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
643 * depending on the current RR service | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
644 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
645 switch (rr_data->ms_data.rr_service) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
646 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
647 case NO_SERVICE: | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
648 case LIMITED_SERVICE: | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
649 if (rr_data->ms_data.reg_counter >= 12) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
650 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
651 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
652 * Only if RR has searched already more then 12 times, | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
653 * that means there is a long period between search attempts | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
654 * from some minutes. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
655 * | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
656 * Get the remaining time of the timer. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
657 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
658 TIMER_STATUS (rr_handle, TREG, &status); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
659 if (status) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
660 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
661 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
662 * if the timer is just running, stop the timer, | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
663 * reset the attempt counter and simulate timeout | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
664 * by starting the timer again for one second. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
665 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
666 TIMERSTOP (TREG); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
667 rr_data->ms_data.reg_counter = 0; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
668 TIMERSTART (TREG, ONE_SEC); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
669 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
670 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
671 break; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
672 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
673 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
674 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
675 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
676 +--------------------------------------------------------------------+ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
677 | PROJECT : GSM-PS (6147) MODULE : RR_TIM | | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
678 | STATE : code ROUTINE : tim_treg | | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
679 +--------------------------------------------------------------------+ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
680 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
681 PURPOSE : Timeout of timer TREG. Used by RR to recover from | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
682 No service to limited / full service or | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
683 limited service to full service or | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
684 full service (non-HPLMN) to full service (HPLMN) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
685 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
686 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
687 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
688 GLOBAL void tim_treg (void) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
689 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
690 GET_INSTANCE_DATA; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
691 U8 search_mode = 0; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
692 #ifdef GPRS | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
693 UBYTE state; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
694 #endif /* GPRS */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
695 #ifdef TI_PS_FF_AT_P_CMD_CTREG | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
696 BOOL ret; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
697 UBYTE tab_val; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
698 #endif /* TI_PS_FF_AT_P_CMD_CTREG */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
699 TRACE_FUNCTION ("tim_treg()"); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
700 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
701 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
702 * clear old cell identification to | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
703 * signal with RR_ACTIVATE_IND to MM to force | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
704 * location updatings. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
705 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
706 att_reset_old_lai_rac(); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
707 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
708 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
709 * due to : "Network not recovered after a manual registration failure" | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
710 * do nothing if measurement is running (RR is already in state ATT_CS1) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
711 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
712 switch (GET_STATE (STATE_ATT)) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
713 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
714 case ATT_CS1: | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
715 case ATT_CS2: | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
716 break; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
717 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
718 case ATT_CS3: | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
719 case ATT_DEDICATED: | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
720 case ATT_CON_EST: | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
721 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
722 * handle the expiry event later after state change (by an | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
723 * additional expiry of TREG) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
724 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
725 rr_data->treg_pending = TRUE; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
726 break; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
727 case ATT_IDLE: | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
728 #ifdef GPRS | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
729 state = GET_STATE(STATE_GPRS); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
730 switch(state) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
731 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
732 case GPRS_PTM_BCCH: | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
733 case GPRS_PAM_BCCH: | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
734 case GPRS_PAM_PBCCH: | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
735 case GPRS_PTM_PBCCH: | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
736 rr_data->treg_pending = TRUE; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
737 break; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
738 default: | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
739 if(GET_STATE(STATE_CELL_SEL) EQ CS_CCO) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
740 rr_data->treg_pending = TRUE; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
741 break; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
742 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
743 if(rr_data->treg_pending) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
744 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
745 att_start_registration_timer(); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
746 break; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
747 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
748 #endif | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
749 /*lint -fallthrough*/ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
750 default: | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
751 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
752 /* Obtain the new search mode | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
753 * CSI-LLD : 4.1.3.4.1.5 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
754 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
755 search_mode = cs_get_new_search_mode(); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
756 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
757 switch (rr_data->ms_data.rr_service) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
758 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
759 case NO_SERVICE: | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
760 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
761 * actual there is no service. Depending on the | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
762 * last request from MM a limited service search | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
763 * or full service search is started. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
764 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
765 /* XY:n inform GRR, and wait for CR_RSP */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
766 #ifdef GPRS | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
767 att_start_cell_selection_gprs(RR_ORIGINATED,search_mode); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
768 #else | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
769 att_start_cell_selection(RR_ORIGINATED, CS_NOT_PARALLEL,search_mode); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
770 #endif | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
771 break; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
772 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
773 case LIMITED_SERVICE: | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
774 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
775 * actual there is limited service. Depending on the | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
776 * frequency area a limited service search or full service | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
777 * search is started. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
778 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
779 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
780 /* Both American and European carriers are detected in | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
781 * this area. Perform Non-Parallel search only when the | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
782 * time gap between search attempts exceeds 2min | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
783 * CSI-LLD 4.3 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
784 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
785 if(rr_data->ms_data.reg_counter) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
786 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
787 #ifdef TI_PS_FF_AT_P_CMD_CTREG | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
788 ret = cl_shrd_get_treg(RR_MOD_LIMSERVICE_TIME, | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
789 (UBYTE)(rr_data->ms_data.reg_counter - 1), | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
790 &tab_val); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
791 if (!ret) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
792 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
793 /* Use default on failure */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
794 tab_val = lim_service_mode_time [rr_data->ms_data.reg_counter-1]; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
795 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
796 rr_data->ms_data.reg_time_gap += cast2T_Time(tab_val); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
797 #else | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
798 /* Add the time gap between search attempts */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
799 rr_data->ms_data.reg_time_gap += | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
800 lim_service_mode_time[rr_data->ms_data.reg_counter-1]; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
801 #endif /* TI_PS_FF_AT_P_CMD_CTREG */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
802 TRACE_EVENT_P2("[%d]reg_counter, [%d]reg_time_gap", | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
803 rr_data->ms_data.reg_counter, | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
804 rr_data->ms_data.reg_time_gap); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
805 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
806 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
807 if((rr_data->ms_data.reg_counter < 20) AND | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
808 (rr_data->ms_data.reg_time_gap < rr_data->dyn_config.lim_ser_nps_delay)) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
809 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
810 /* Perform parallel search if delay >= 2min. This is to allow time | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
811 * for emergency calls | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
812 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
813 att_start_cell_selection(RR_ORIGINATED, CS_PARALLEL,search_mode); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
814 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
815 else | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
816 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
817 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
818 rr_data->ms_data.reg_time_gap = 0; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
819 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
820 /* Perform Non-Parallel search every >= 2min */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
821 #ifdef GPRS | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
822 att_start_cell_selection_gprs(RR_ORIGINATED,search_mode); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
823 #else | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
824 att_start_cell_selection(RR_ORIGINATED, CS_NOT_PARALLEL,search_mode); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
825 #endif | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
826 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
827 break; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
828 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
829 case FULL_SERVICE: | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
830 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
831 * actual there is full service. Nothing to do here. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
832 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
833 break; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
834 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
835 break; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
836 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
837 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
838 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
839 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
840 +--------------------------------------------------------------------+ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
841 | PROJECT : GSM-PS (6147) MODULE : RR_TIM | | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
842 | STATE : code ROUTINE : tim_tnnn | | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
843 +--------------------------------------------------------------------+ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
844 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
845 PURPOSE : Timeout of timer TNNN | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
846 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
847 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
848 GLOBAL void tim_tnnn (void) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
849 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
850 GET_INSTANCE_DATA; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
851 int index; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
852 BOOL tnnn_active = FALSE; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
853 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
854 for (index = 0; index < (int)ELEMENTS(rr_data->nc_data); index++) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
855 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
856 if (rr_data->nc_data[index].tnnn) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
857 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
858 rr_data->nc_data[index].tnnn--; /* decrement all active timer counts */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
859 if (rr_data->nc_data[index].tnnn) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
860 tnnn_active = TRUE; /* at least one timer count active */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
861 else | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
862 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
863 /* Implements Measure#32: Row 442 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
864 switch(index) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
865 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
866 case CR_INDEX: | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
867 TRACE_TIMER_P1 ("T-Expiry:TNNN[CR%d]", rr_data->nc_data[index].arfcn); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
868 break; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
869 case SC_INDEX: | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
870 TRACE_TIMER_P1 ("T-Expiry:TNNN[SC%d]", rr_data->nc_data[index].arfcn); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
871 break; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
872 default: | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
873 TRACE_TIMER_P1 ("T-Expiry:TNNN[%d]", rr_data->nc_data[index].arfcn); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
874 break; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
875 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
876 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
877 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
878 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
879 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
880 if (!tnnn_active) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
881 TIMERSTOP (TNNN); /* no timer count active -> stop physical timer */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
882 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
883 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
884 +--------------------------------------------------------------------+ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
885 | PROJECT : GSM-PS (6147) MODULE : RR_TIM | | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
886 | STATE : code ROUTINE : tim_tabort | | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
887 +--------------------------------------------------------------------+ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
888 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
889 PURPOSE : Timeout of timer TABORT | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
890 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
891 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
892 GLOBAL void tim_tabort (void) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
893 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
894 GET_INSTANCE_DATA; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
895 TRACE_EVENT("tim_tabort TIMEOUT"); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
896 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
897 /* Sometimes SI 2Ter is indicated but it is never sent. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
898 * Wait till expiry of T_RESELECT Timer, to give more time to read SI 2Ter. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
899 * Do not send RR_ABORT_IND in this special case, | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
900 * as this will cause MMI to show "No Network" | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
901 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
902 if( (rr_data->cr_data.cd.sys_info_read EQ SYS_INFO_EXCEPT_2TER) AND | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
903 ((GET_STATE(STATE_ATT) EQ ATT_CS2) OR (GET_STATE(STATE_ATT) EQ ATT_CS3)) ) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
904 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
905 TRACE_EVENT("SI2 Ter missing - wait for T_RESELECT expiry"); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
906 TIMERSTART (TABORT, TABORT_VALUE); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
907 return; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
908 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
909 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
910 /*If the MS is carrying out a search for a list of PLMNs, this may take */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
911 /*longer than 10s and the MMI is not displaying the PLMN name */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
912 /*Boot Time:If MM has initiated a power scan for quick registration | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
913 *do not send RR_ABORT_IND here. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
914 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
915 if((rr_data->ms_data.req_mm_service NEQ FUNC_NET_SRCH_BY_MMI) AND | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
916 (rr_data->ms_data.req_mm_service NEQ FUNC_ST_PWR_SCAN)) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
917 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
918 att_code_net_lost(); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
919 #ifdef FF_PS_RSSI | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
920 RX_SetValue ( 0, RX_QUAL_UNAVAILABLE, RX_ACCE_UNAVAILABLE); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
921 #else | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
922 RX_SetValue (0); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
923 #endif | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
924 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
925 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
926 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
927 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
928 +--------------------------------------------------------------------+ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
929 | PROJECT : GSM-PS MODULE : RR_TIM | | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
930 | STATE : code ROUTINE : check_tnnn | | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
931 +--------------------------------------------------------------------+ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
932 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
933 PURPOSE : Starts timer TABORT | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
934 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
935 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
936 void tstart_tabort( USHORT val ) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
937 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
938 GET_INSTANCE_DATA; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
939 if( rr_data->net_lost ) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
940 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
941 if(!IS_TIMER_ACTIVE(TABORT)) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
942 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
943 TIMERSTART (TABORT, val); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
944 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
945 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
946 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
947 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
948 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
949 +--------------------------------------------------------------------+ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
950 | PROJECT : GSM-PS (6147) MODULE : RR_TIM | | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
951 | STATE : code ROUTINE : check_tnnn | | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
952 +--------------------------------------------------------------------+ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
953 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
954 PURPOSE : Checks to see if timer TNNN is running or not | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
955 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
956 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
957 static int check_tnnn (void) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
958 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
959 GET_INSTANCE_DATA; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
960 int nc; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
961 int tnnn_active = FALSE; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
962 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
963 /* check all timer counter for active state */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
964 for (nc = 0; nc < (int)ELEMENTS(rr_data->nc_data); nc++) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
965 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
966 if (rr_data->nc_data[nc].tnnn) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
967 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
968 tnnn_active = TRUE; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
969 break; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
970 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
971 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
972 return tnnn_active; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
973 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
974 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
975 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
976 +--------------------------------------------------------------------+ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
977 | PROJECT : GSM-PS (6147) MODULE : RR_TIM | | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
978 | STATE : code ROUTINE : set_tnnn | | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
979 +--------------------------------------------------------------------+ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
980 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
981 PURPOSE : Sets timer TNNN | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
982 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
983 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
984 GLOBAL void set_tnnn (int index, USHORT value) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
985 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
986 GET_INSTANCE_DATA; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
987 /* Implements Measure#32: Row 443 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
988 switch (index) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
989 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
990 case CR_INDEX: | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
991 TRACE_TIMER_P2 ("T-Start:TNNN[CR%d]=%d", rr_data->nc_data[index].arfcn, value); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
992 break; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
993 case SC_INDEX: | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
994 TRACE_TIMER_P2 ("T-Start:TNNN[SC%d]=%d", rr_data->nc_data[index].arfcn, value); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
995 break; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
996 default: | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
997 TRACE_TIMER_P2 ("T-Start:TNNN[%d]=%d", rr_data->nc_data[index].arfcn, value); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
998 break; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
999 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1000 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1001 if (!check_tnnn ()) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1002 {/* up to now there are no timer counter active -> start physical timer */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1003 trace_timer (TNNN, value); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1004 rr_data->t_running[TNNN] = 1; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1005 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1006 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1007 * start physical periodically timer. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1008 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1009 TIMER_PSTART (rr_handle, TNNN, ONE_SEC, ONE_SEC); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1010 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1011 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1012 /* set the new timer counter */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1013 rr_data->nc_data[index].tnnn = value / ONE_SEC; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1014 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1015 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1016 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1017 +--------------------------------------------------------------------+ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1018 | PROJECT : GSM-PS (6147) MODULE : RR_TIM | | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1019 | STATE : code ROUTINE : reset_tnnn | | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1020 +--------------------------------------------------------------------+ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1021 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1022 PURPOSE : Resets timer TNNN | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1023 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1024 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1025 GLOBAL void reset_tnnn (int index) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1026 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1027 GET_INSTANCE_DATA; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1028 if (rr_data->nc_data[index].tnnn) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1029 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1030 /* Implements Measure#32: Row 444 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1031 switch (index) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1032 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1033 case CR_INDEX: | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1034 TRACE_TIMER_P1 ("T-Stop:TNNN[CR%d]", rr_data->nc_data[index].arfcn); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1035 break; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1036 case SC_INDEX: | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1037 TRACE_TIMER_P1 ("T-Stop:TNNN[SC%d]", rr_data->nc_data[index].arfcn); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1038 break; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1039 default: | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1040 TRACE_TIMER_P1 ("T-Stop:TNNN[%d]", rr_data->nc_data[index].arfcn); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1041 break; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1042 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1043 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1044 /* reset the timer counter */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1045 rr_data->nc_data[index].tnnn = 0; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1046 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1047 if (IS_TIMER_ACTIVE(TNNN) AND !check_tnnn ()) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1048 TIMERSTOP (TNNN); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1049 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1050 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1051 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1052 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1053 +--------------------------------------------------------------------+ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1054 | PROJECT : GSM-PS (6147) MODULE : RR_TIM | | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1055 | STATE : code ROUTINE : is_tnnn | | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1056 +--------------------------------------------------------------------+ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1057 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1058 PURPOSE : Returns value of timer TNNN | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1059 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1060 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1061 GLOBAL int is_tnnn (int index) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1062 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1063 GET_INSTANCE_DATA; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1064 if (rr_data->nc_data[index].tnnn) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1065 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1066 /* Implements Measure#32: Row 446 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1067 switch (index) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1068 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1069 case CR_INDEX: | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1070 TRACE_TIMER_P2 ("T-Check:TNNN[CR%d]=%d", rr_data->nc_data[index].arfcn, | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1071 rr_data->nc_data[index].tnnn*ONE_SEC); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1072 break; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1073 case SC_INDEX: | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1074 TRACE_TIMER_P2 ("T-Check:TNNN[SC%d]=%d", rr_data->nc_data[index].arfcn, | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1075 rr_data->nc_data[index].tnnn*ONE_SEC); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1076 break; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1077 default: | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1078 TRACE_TIMER_P2 ("T-Check:TNNN[%d]=%d", rr_data->nc_data[index].arfcn, | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1079 rr_data->nc_data[index].tnnn*ONE_SEC); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1080 break; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1081 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1082 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1083 else | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1084 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1085 /* Implements Measure#32: Row 445 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1086 switch (index) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1087 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1088 case CR_INDEX: | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1089 TRACE_TIMER_P1 ("T-Check:TNNN[CR%d] inactive", rr_data->nc_data[index].arfcn); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1090 break; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1091 case SC_INDEX: | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1092 TRACE_TIMER_P1 ("T-Check:TNNN[SC%d] inactive", rr_data->nc_data[index].arfcn); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1093 break; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1094 default: | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1095 TRACE_TIMER_P1 ("T-Check:TNNN[%d] inactive", rr_data->nc_data[index].arfcn); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1096 break; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1097 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1098 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1099 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1100 return rr_data->nc_data[index].tnnn; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1101 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1102 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1103 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1104 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1105 +--------------------------------------------------------------------+ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1106 | PROJECT : GSM-PS (6147) MODULE : RR_TIM | | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1107 | STATE : code ROUTINE : tim_ext_meas | | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1108 +--------------------------------------------------------------------+ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1109 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1110 PURPOSE : Timeout of timer TIM_EXT_MEAS. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1111 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1112 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1113 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1114 GLOBAL void tim_ext_meas (void) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1115 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1116 TRACE_FUNCTION ("tim_ext_meas ()"); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1117 dat_emo_stop ( TRUE ); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1118 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1119 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1120 #if defined FF_EOTD | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1121 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1122 +--------------------------------------------------------------------+ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1123 | PROJECT : GSM-PS (6147) MODULE : RR_TIM | | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1124 | STATE : code ROUTINE : tim_apdu | | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1125 +--------------------------------------------------------------------+ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1126 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1127 PURPOSE : Timeout of timer TAPDU. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1128 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1129 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1130 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1131 GLOBAL void tim_apdu (void) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1132 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1133 GET_INSTANCE_DATA; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1134 TRACE_FUNCTION ("tim_apdu ()"); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1135 rr_applic_rx_init ( &rr_data->applic_rx ); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1136 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1137 #endif /* FF_EOTD */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1138 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1139 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1140 +--------------------------------------------------------------------+ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1141 | PROJECT : GSM-PS (6147) MODULE : RR_TIM | | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1142 | STATE : code ROUTINE : tim_exec_timeout | | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1143 +--------------------------------------------------------------------+ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1144 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1145 PURPOSE : execute timeout for the new frame variant. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1146 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1147 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1148 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1149 GLOBAL void tim_exec_timeout (USHORT index) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1150 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1151 GET_INSTANCE_DATA; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1152 TRACE_FUNCTION ("tim_exec_timeout()"); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1153 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1154 if (index >= NUM_OF_RR_TIMERS) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1155 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1156 #if defined(TIMER_TRACE) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1157 SYST_TRACE_P ((SYST, "tim_exec_timeout(%u)", index)); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1158 #endif | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1159 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1160 else | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1161 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1162 if (index NEQ TNNN) /* TNNN timer has its own trace */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1163 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1164 trace_timer (index, -1); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1165 rr_data->t_running[index] = 0; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1166 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1167 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1168 if (rr_data->t_expire[index]) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1169 rr_data->t_expire[index] (); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1170 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1171 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1172 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1173 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1174 +--------------------------------------------------------------------+ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1175 | PROJECT : GSM-PS (6147) MODULE : RR_TIM | | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1176 | STATE : code ROUTINE : tim_stop_timer | | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1177 +--------------------------------------------------------------------+ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1178 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1179 PURPOSE : stop timer in the new frame variant. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1180 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1181 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1182 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1183 GLOBAL void tim_stop_timer (USHORT index) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1184 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1185 GET_INSTANCE_DATA; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1186 TRACE_FUNCTION ("tim_stop_timer()"); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1187 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1188 if (index >= NUM_OF_RR_TIMERS) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1189 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1190 #if defined(TIMER_TRACE) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1191 SYST_TRACE_P ((SYST, "tim_stop_timer(%u)", index)); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1192 #endif | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1193 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1194 else | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1195 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1196 trace_timer (index, 0); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1197 rr_data->t_running[index] = 0; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1198 TIMER_STOP (rr_handle, index); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1199 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1200 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1201 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1202 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1203 +--------------------------------------------------------------------+ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1204 | PROJECT : GSM-PS (6147) MODULE : RR_TIM | | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1205 | STATE : code ROUTINE : tim_start_timer | | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1206 +--------------------------------------------------------------------+ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1207 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1208 PURPOSE : start timer in the new frame variant. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1209 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1210 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1211 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1212 GLOBAL void tim_start_timer (USHORT index, T_TIME value) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1213 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1214 GET_INSTANCE_DATA; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1215 TRACE_FUNCTION ("tim_start_timer()"); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1216 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1217 if (index >= NUM_OF_RR_TIMERS) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1218 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1219 #if defined(TIMER_TRACE) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1220 SYST_TRACE_P ((SYST, "tim_start_timer(%u)", index)); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1221 #endif | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1222 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1223 else | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1224 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1225 trace_timer (index, value); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1226 rr_data->t_running[index] = 1; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1227 TIMER_START (rr_handle, index, value); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1228 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1229 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1230 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1231 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1232 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1233 +--------------------------------------------------------------------+ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1234 | PROJECT : GSM-PS (6147) MODULE : RR_TIM | | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1235 | STATE : code ROUTINE : tim_check_timer | | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1236 +--------------------------------------------------------------------+ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1237 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1238 PURPOSE : Checks if a specified timer is running | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1239 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1240 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1241 #if defined(TIMER_TRACE) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1242 GLOBAL BOOL tim_check_timer(USHORT index) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1243 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1244 GET_INSTANCE_DATA; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1245 TRACE_FUNCTION ("tim_check_timer()"); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1246 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1247 if (index >= NUM_OF_RR_TIMERS) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1248 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1249 SYST_TRACE_P ((SYST, "tim_check_timer(%u)", index)); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1250 return FALSE; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1251 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1252 else | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1253 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1254 trace_timer (index, -2); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1255 return (rr_data->t_running[index]); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1256 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1257 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1258 #endif /* TIMER_TRACE */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1259 #endif /* RR_TIM_C */ | 
