FreeCalypso > hg > fc-magnetite
annotate src/g23m-gsm/alr/alr_rach.c @ 531:6917ea63bffa
doc/Compiling: Slackware, Wine and mokosrec2bin updates
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Fri, 26 Oct 2018 00:29:16 +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 : GSM-PS | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
4 | Modul : ALR_RACH | 
| 
 
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 SDL process RACH_Control. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
18 +----------------------------------------------------------------------------- | 
| 
 
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 #ifndef ALR_RACH_C | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
22 #define ALR_RACH_C | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
23 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
24 #define ENTITY_PL | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
25 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
26 /*==== INCLUDES ===================================================*/ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
27 #include <string.h> | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
28 #include <stdlib.h> | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
29 #include <ctype.h> | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
30 #include "typedefs.h" | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
31 #include "pconst.cdg" | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
32 #include "mconst.cdg" | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
33 #include "message.h" | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
34 #include "ccdapi.h" | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
35 #include "vsi.h" | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
36 #include "custom.h" | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
37 #include "gsm.h" | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
38 #include "prim.h" | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
39 #include "cnf_alr.h" | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
40 #include "mon_alr.h" | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
41 #include "pei.h" | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
42 #include "tok.h" | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
43 #include "pcm.h" | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
44 #ifdef GPRS | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
45 #include "alr_gprs.h" | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
46 #endif | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
47 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
48 #include "alr.h" | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
49 #include "alr_em.h" | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
50 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
51 /*==== EXPORT =====================================================*/ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
52 /*==== PRIVAT =====================================================*/ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
53 LOCAL void rach_send_mphc_ra_req (T_MPH_RANDOM_ACCESS_REQ *random_req); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
54 /*==== VARIABLES ==================================================*/ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
55 #if defined (WIN32) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
56 #define TRACING | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
57 #endif | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
58 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
59 #if defined (TRACING) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
60 #define ALR_TRACE_RACH(a) ALR_TRACE(a) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
61 #else | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
62 #define ALR_TRACE_RACH(a) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
63 #endif | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
64 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
65 #if defined (TRACING) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
66 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
67 #define ALR_TRACE_RACH_CLASS(x) TRACE_EVENT_P1 ("class %d",x) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
68 #define ALR_TRACE_RACH_POWER(p) TRACE_EVENT_P1 ("configured power = %d", p) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
69 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
70 #else | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
71 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
72 #define ALR_TRACE_RACH_CLASS(x) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
73 #define ALR_TRACE_RACH_POWER(p) | 
| 
 
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 #endif | 
| 
 
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 /*==== FUNCTIONS ==================================================*/ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
78 | 
| 
 
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 +--------------------------------------------------------------------+ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
81 | PROJECT : GSM-PS (6103) MODULE : ALR_RACH | | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
82 | STATE : code ROUTINE : rach_init | | 
| 
 
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 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
85 PURPOSE : Initialize RACH Control Process. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
86 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
87 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
88 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
89 GLOBAL void rach_init (void) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
90 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
91 GET_INSTANCE_DATA; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
92 alr_data->state[STATE_RA] = RA_NULL; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
93 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
94 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
95 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
96 +--------------------------------------------------------------------+ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
97 | PROJECT : GSM-PS (6103) MODULE : ALR_RACH | | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
98 | STATE : code ROUTINE : rach_configure_class | | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
99 +--------------------------------------------------------------------+ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
100 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
101 PURPOSE : Process signal rach_configure_class from SDL process | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
102 Main_Control. | 
| 
 
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 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
105 GLOBAL void rach_configure_class (UBYTE ms_class, | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
106 UBYTE dcs_class) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
107 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
108 GET_INSTANCE_DATA; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
109 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
110 * +1 because of interface difference between RR and TI | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
111 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
112 alr_data->rach_data.ms_class = (UBYTE)(ms_class + 1); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
113 alr_data->rach_data.dcs_class = (UBYTE)(dcs_class + 1); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
114 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
115 ALR_TRACE_RACH_CLASS (alr_data->rach_data.ms_class); | 
| 
 
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 | 
| 
 
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 +--------------------------------------------------------------------+ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
120 | PROJECT : GSM-PS (6103) MODULE : ALR_RACH | | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
121 | STATE : code ROUTINE : rach_configure_power | | 
| 
 
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 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
124 PURPOSE : Process signal rach_configure_power from SDL process | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
125 Main_Control. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
126 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
127 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
128 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
129 GLOBAL void rach_configure_power (UBYTE power) | 
| 
 
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 GET_INSTANCE_DATA; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
132 ALR_TRACE_RACH_POWER(power); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
133 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
134 alr_data->rach_data.max_tx_pwr_ccch = power; | 
| 
 
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 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
137 +--------------------------------------------------------------------+ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
138 | PROJECT : GSM-PS (6103) MODULE : ALR_RACH | | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
139 | STATE : code ROUTINE : rach_stop | | 
| 
 
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 PURPOSE : Process signal rach_stop from SDL process | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
143 Main_Control. | 
| 
 
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 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
146 GLOBAL void rach_stop (void) | 
| 
 
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 GET_INSTANCE_DATA; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
149 switch (GET_STATE (STATE_RA)) | 
| 
 
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 case RA_ACTIVE: | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
152 ma_rach_stop_ra_req (); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
153 /*lint -fallthrough*/ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
154 case RA_LISTEN_TO_CCCH: | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
155 SET_STATE (STATE_RA, RA_NULL); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
156 break; | 
| 
 
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 default: | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
159 break; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
160 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
161 } | 
| 
 
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 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
165 +--------------------------------------------------------------------+ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
166 | PROJECT : GSM-PS (6103) MODULE : ALR_RACH | | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
167 | STATE : code ROUTINE : rach_random_req | | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
168 +--------------------------------------------------------------------+ | 
| 
 
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 PURPOSE : Process signal rach_random_req from SDL process | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
171 Main_Control. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
172 | 
| 
 
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 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
175 GLOBAL void rach_random_req (T_MPH_RANDOM_ACCESS_REQ *random_req) | 
| 
 
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 GET_INSTANCE_DATA; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
178 switch (GET_STATE (STATE_RA)) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
179 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
180 case RA_NULL: | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
181 if (random_req->send_mode.no NEQ 0) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
182 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
183 rach_send_mphc_ra_req (random_req); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
184 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
185 break; | 
| 
 
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 case RA_ACTIVE: | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
188 if (random_req->send_mode.no EQ 0) | 
| 
 
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 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
191 ALR_EM_STOP_CONNECTION_ESTABLISHMENT; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
192 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
193 SET_STATE (STATE_RA, RA_LISTEN_TO_CCCH); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
194 ma_rach_stop_ra_req (); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
195 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
196 else | 
| 
 
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 /*stop to be safe */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
199 ma_rach_stop_ra_req (); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
200 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
201 rach_send_mphc_ra_req (random_req); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
202 } /*PALLOC*/ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
203 } /* if */ | 
| 
 
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 default: | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
206 break; | 
| 
 
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 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
211 +--------------------------------------------------------------------+ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
212 | PROJECT : GSM-PS (6103) MODULE : ALR_RACH | | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
213 | STATE : code ROUTINE : rach_ra_cnf | | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
214 +--------------------------------------------------------------------+ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
215 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
216 PURPOSE : Process signal rach_ra_cnf from SDL process | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
217 Main_Control. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
218 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
219 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
220 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
221 GLOBAL void rach_ra_cnf (T_MPHC_RA_CON *ra_cnf) | 
| 
 
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 GET_INSTANCE_DATA; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
224 UBYTE c_burst = alr_data->rach_data.c_burst-1; /* confirmed index */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
225 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
226 switch (GET_STATE (STATE_RA)) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
227 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
228 case RA_ACTIVE: | 
| 
 
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 PALLOC (random_cnf, MPH_RANDOM_ACCESS_CNF); | 
| 
 
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 ra_cnf->fn %= 42432L; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
233 #ifdef GPRS | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
234 alr_data->rach_data.t1[c_burst] = | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
235 random_cnf->frame_no.t1= | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
236 (UBYTE)((ra_cnf->fn / 1326) % 32); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
237 alr_data->rach_data.t2[c_burst] = | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
238 random_cnf->frame_no.t2= | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
239 (UBYTE)(ra_cnf->fn % 26); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
240 alr_data->rach_data.t3[c_burst] = | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
241 random_cnf->frame_no.t3= | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
242 (UBYTE)(ra_cnf->fn % 51); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
243 #else | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
244 random_cnf->frame_no.t1= (UBYTE)((ra_cnf->fn / 1326) % 32); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
245 random_cnf->frame_no.t2= (UBYTE)(ra_cnf->fn % 26); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
246 random_cnf->frame_no.t3= (UBYTE)(ra_cnf->fn % 51); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
247 #endif | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
248 ma_rach_random_cnf (random_cnf); | 
| 
 
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 c_burst++; /* next index */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
251 if (c_burst >= alr_data->rach_data.max_bursts) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
252 {/* last index ? */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
253 SET_STATE (STATE_RA, RA_LISTEN_TO_CCCH); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
254 ma_rach_stop_ra_req (); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
255 #if !defined(TNNN_WITH_TIMER) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
256 ma_fake_rr_report(); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
257 #endif /* !TNNN_WITH_TIMER */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
258 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
259 else | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
260 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
261 PALLOC (ra_req, MPHC_RA_REQ); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
262 | 
| 
 
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 * power limitation | 
| 
 
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 ra_req->txpwr = cut_power_value (alr_data->rach_data.max_tx_pwr_ccch, NULL); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
267 #ifndef TI_PS_FF_QUAD_BAND_SUPPORT | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
268 ra_req->powerclass_gsm = alr_data->rach_data.ms_class; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
269 ra_req->powerclass_dcs = alr_data->rach_data.dcs_class; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
270 #endif | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
271 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
272 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
273 * Modification: Add 1 to the time of RR !!!! | 
| 
 
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 ra_req->rand = (UBYTE)(alr_data->rach_data.delta[c_burst]+1); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
276 ra_req->channel_request = alr_data->rach_data.channel_request[c_burst]; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
277 ma_rach_ra_req (ra_req); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
278 alr_data->rach_data.c_burst++; /* the next index */ | 
| 
 
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 break; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
281 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
282 default: | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
283 break; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
284 } | 
| 
 
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 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
287 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
288 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
289 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
290 +--------------------------------------------------------------------+ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
291 | PROJECT : GSM-PS (6103) MODULE : ALR_RACH | | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
292 | STATE : code ROUTINE : cut_power_value | | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
293 +--------------------------------------------------------------------+ | 
| 
 
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 PURPOSE : Cut the nominal maximum output power to the | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
296 associated power class. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
297 (Reference for the tables with the associated | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
298 power classes, control levels and nominal output power | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
299 is 3GPP TS 05.05, 4.1) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
300 | 
| 
 
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 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
303 GLOBAL UBYTE cut_power_value (UBYTE power, T_MPH_DEDICATED_REQ *mph_dedicated_req) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
304 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
305 GET_INSTANCE_DATA; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
306 UBYTE new_power = power; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
307 UBYTE sc_band; | 
| 
 
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 if(mph_dedicated_req == NULL) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
310 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
311 sc_band = alr_data->sc_band; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
312 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
313 else | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
314 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
315 if(mph_dedicated_req->ch_type.h) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
316 sc_band = get_band(mph_dedicated_req->ch_type.ma[0]); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
317 else | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
318 sc_band = get_band(mph_dedicated_req->ch_type.arfcn); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
319 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
320 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
321 switch (sc_band) | 
| 
 
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 case BAND_GSM_900: | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
324 case BAND_E_GSM: | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
325 case BAND_GSM_850: | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
326 switch (alr_data->rach_data.ms_class) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
327 { | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
328 case POW_CLASS_1: /* doesn´t exist */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
329 case POW_CLASS_2: /* power class 2, 8W, 39 dBm, level 0..2 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
330 /* highest level allowed => no cut necessary */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
331 break; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
332 case POW_CLASS_3: /* power class 3, 5W, 37 dBm, level 3 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
333 if (new_power < 3) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
334 new_power = 3; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
335 break; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
336 case POW_CLASS_4: /* power class 4, 2W, 33 dBm, level 5 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
337 if (new_power < 5) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
338 new_power = 5; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
339 break; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
340 case POW_CLASS_5: /* power class 5, 0.8W, 29 dBm, level 7 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
341 if (new_power < 7) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
342 new_power = 7; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
343 break; | 
| 
 
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 break; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
346 case BAND_DCS_1800: | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
347 switch (alr_data->rach_data.dcs_class) | 
| 
 
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 case POW_CLASS_1: /* power class 1, 1W, 30 dBm, level 0 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
350 if (new_power > 28) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
351 new_power = 0; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
352 break; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
353 case POW_CLASS_2: /* power class 2, 0.25W, 24 dBm, level 3 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
354 if (!INRANGE (3, new_power, 28)) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
355 new_power = 3; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
356 break; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
357 case POW_CLASS_3: /* power class 3, 4W, 36 dBm , level 29 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
358 /* highest level allowed => no cut necessary */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
359 break; | 
| 
 
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 break; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
362 case BAND_PCS_1900: | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
363 switch (alr_data->rach_data.dcs_class) | 
| 
 
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 case POW_CLASS_1: /* power class 1, 1W, 30 dBm, level 0 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
366 if (!INRANGE (0, new_power, 15)) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
367 new_power = 0; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
368 break; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
369 case POW_CLASS_2: /* power class 2, 0.25W, 24 dBm, level 3 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
370 if (!INRANGE (3, new_power, 15)) | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
371 new_power = 3; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
372 break; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
373 default: | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
374 case POW_CLASS_3: /* power class 3, 2W, 33 dBm , level 30 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
375 /* highest level allowed => no cut necessary */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
376 break; | 
| 
 
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 break; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
379 } | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
380 return new_power; | 
| 
 
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 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
383 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
384 +--------------------------------------------------------------------+ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
385 | PROJECT : MODULE : ALR_RACH | | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
386 | STATE : code ROUTINE : rach_send_mphc_ra_req | | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
387 +--------------------------------------------------------------------+ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
388 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
389 PURPOSE : Function to send the MPHC_RA_REQ primitive. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
390 Called from function 'rach_random_req' | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
391 This function handles: | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
392 1) Starts Random Burst Sending. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
393 2) Power limitation. | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
394 3) Adds 1 to the time of RR. | 
| 
 
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 LOCAL void rach_send_mphc_ra_req (T_MPH_RANDOM_ACCESS_REQ *random_req) | 
| 
 
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 GET_INSTANCE_DATA; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
399 PALLOC (ra_req, MPHC_RA_REQ); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
400 ALR_TRACE_RACH("rach_send_mphc_ra_req"); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
401 ALR_EM_START_CONNECTION_ESTABLISHMENT; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
402 | 
| 
 
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 * Start Random Burst Sending | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
405 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
406 memcpy (alr_data->rach_data.delta, random_req->send_mode.delta, | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
407 sizeof (alr_data->rach_data.delta)); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
408 memcpy (alr_data->rach_data.channel_request, random_req->send_mode.rach, | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
409 sizeof (alr_data->rach_data.channel_request)); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
410 alr_data->rach_data.max_bursts = random_req->send_mode.no; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
411 alr_data->rach_data.c_burst = 0; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
412 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
413 * power limitation | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
414 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
415 ra_req->txpwr = cut_power_value (alr_data->rach_data.max_tx_pwr_ccch, NULL); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
416 #ifndef TI_PS_FF_QUAD_BAND_SUPPORT | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
417 ra_req->powerclass_gsm = alr_data->rach_data.ms_class; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
418 ra_req->powerclass_dcs = alr_data->rach_data.dcs_class; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
419 #endif | 
| 
 
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 /* | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
422 * Modification: Add 1 to the time of RR !!!! | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
423 */ | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
424 ra_req->rand = (UBYTE)(alr_data->rach_data.delta[alr_data->rach_data.c_burst]+1); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
425 ra_req->channel_request = alr_data->rach_data.channel_request[alr_data->rach_data.c_burst++]; | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
426 SET_STATE (STATE_RA, RA_ACTIVE); | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
427 ma_rach_ra_req (ra_req); | 
| 
 
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 | 
| 
 
27a4235405c6
src/g23m-gsm: import from LoCosto source
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
430 #endif | 
