FreeCalypso > hg > fc-tourmaline
annotate src/g23m-gprs/grlc/grlc_gfff.c @ 209:e4d70b3367be
new ETM debug command for KPD_PWR testing
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Thu, 22 Apr 2021 07:22:59 +0000 | 
| parents | fa8dc04885d8 | 
| children | 
| rev | line source | 
|---|---|
| 
1
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1 /* | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2 +----------------------------------------------------------------------------- | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3 | Project : GPRS (8441) | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
4 | Modul : GRLC | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
5 +----------------------------------------------------------------------------- | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
6 | Copyright 2002 Texas Instruments Berlin, AG | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
7 | All rights reserved. | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
8 | | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
9 | This file is confidential and a trade secret of Texas | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
10 | Instruments Berlin, AG | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
11 | The receipt of or possession of this file does not convey | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
12 | any rights to reproduce or disclose its contents or to | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
13 | manufacture, use, or sell anything it may describe, in | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
14 | whole, or in part, without the specific written consent of | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
15 | Texas Instruments Berlin, AG. | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
16 +----------------------------------------------------------------------------- | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
17 | Purpose : This module implements local functions for service GFF of | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
18 | entity GRLC. | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
19 +----------------------------------------------------------------------------- | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
20 */ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
21 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
22 #ifndef GRLC_GFFF_C | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
23 #define GRLC_GFFF_C | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
24 #endif | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
25 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
26 #define ENTITY_GRLC | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
27 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
28 /*==== INCLUDES =============================================================*/ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
29 #include <string.h> | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
30 #include "typedefs.h" /* to get Condat data types */ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
31 #include <stdio.h> | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
32 #include "vsi.h" /* to get a lot of macros */ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
33 #include "macdef.h" | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
34 #include "gprs.h" | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
35 #include "gsm.h" /* to get a lot of macros */ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
36 #include "ccdapi.h" /* to get CCD API */ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
37 #include "prim.h" /* to get the definitions of used SAP and directions */ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
38 #include "message.h" | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
39 #include "grlc.h" | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
40 #include "grlc_f.h" | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
41 #include "grlc_tms.h" | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
42 #include "grlc_rus.h" | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
43 #include "grlc_rds.h" | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
44 #include "grlc_gfff.h" | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
45 #include "cl_rlcmac.h" | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
46 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
47 /*==== CONST ================================================================*/ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
48 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
49 #define D_DL_DUMMY_c 0x25 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
50 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
51 /*==== LOCAL VARS ===========================================================*/ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
52 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
53 /*==== PRIVATE FUNCTIONS ====================================================*/ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
54 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
55 /*==== PUBLIC FUNCTIONS =====================================================*/ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
56 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
57 /* | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
58 +------------------------------------------------------------------------------ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
59 | Function : gff_init | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
60 +------------------------------------------------------------------------------ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
61 | Description : The function gff_init() .... | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
62 | | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
63 | Parameters : dummy - description of parameter dummy | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
64 | | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
65 +------------------------------------------------------------------------------ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
66 */ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
67 GLOBAL void gff_init ( void ) | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
68 { | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
69 TRACE_FUNCTION( "gff_init" ); | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
70 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
71 grlc_data->gff.rlc_status = RLC_STATUS_NULL; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
72 grlc_data->ul_tfi = 0xFF; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
73 grlc_data->dl_tfi = 0xFF; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
74 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
75 grlc_data->next_poll_fn = 1; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
76 grlc_data->ul_poll_pos_index = 0xFF; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
77 grlc_data->nr_of_crc_errors = 0xFFFF; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
78 grlc_data->ta_value = 0xFF; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
79 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
80 INIT_STATE(GFF,GFF_DEACTIVE); | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
81 } /* gff_init() */ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
82 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
83 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
84 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
85 /* | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
86 +------------------------------------------------------------------------------ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
87 | Function : gff_tbf_init | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
88 +------------------------------------------------------------------------------ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
89 | Description : The function gff_tbf_init() .... | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
90 | | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
91 | Parameters : dummy - description of parameter dummy | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
92 | | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
93 +------------------------------------------------------------------------------ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
94 */ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
95 GLOBAL void gff_tbf_init ( void ) | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
96 { | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
97 TRACE_FUNCTION( "gff_tbf_init" ); | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
98 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
99 /* | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
100 * set segmented control block array | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
101 */ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
102 grlc_data->ul_poll_pos_index = 0; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
103 grlc_data->nr_of_crc_errors = 0; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
104 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
105 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
106 #if defined (_TARGET_) | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
107 { | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
108 UBYTE i; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
109 /* target debugging*/ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
110 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
111 grlc_data->last_dl_fn = 1; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
112 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
113 for (i=0; i < CALL_ERROR_NR_OF_ST_FN;i++) | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
114 { | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
115 grlc_data->ul_fn_store[i] = 0; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
116 grlc_data->ul_fn_errors[i] = 0; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
117 grlc_data->dl_fn_store[i] = 0; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
118 grlc_data->dl_fn_errors[i] = 0; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
119 } | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
120 grlc_data->ul_cnt_syn = 0; /*for target, count calls in rlc uplink*/ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
121 grlc_data->ul_cnt_asyn = 0; /*for target, count calls in gffp mac_ready_ind*/ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
122 grlc_data->dl_cnt_syn = 0; /*for target, count calls in rlc downlink*/ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
123 grlc_data->dl_cnt_asyn = 0; /*for target, count calls in gffp mac_data_ind*/ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
124 grlc_data->ul_call_errors = 0; /*for target, count calls in rlc uplink during grlc is active*/ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
125 grlc_data->dl_call_errors = 0; /*for target, count calls in rlc downlink during grlc is active*/ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
126 } | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
127 #endif /* defined (_TARGET_) */ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
128 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
129 } /* gff_tbf_init() */ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
130 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
131 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
132 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
133 /* | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
134 +------------------------------------------------------------------------------ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
135 | Function : gff_send_ctrl_block | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
136 +------------------------------------------------------------------------------ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
137 | Description : The function gff_send_ctrl_block() .... | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
138 | | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
139 | Parameters : dummy - description of parameter dummy | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
140 | | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
141 +------------------------------------------------------------------------------ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
142 */ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
143 GLOBAL void gff_send_ctrl_block (ULONG fn_i, UBYTE tn_i, UBYTE * ptr_ctrl_block_i ) | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
144 { | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
145 PALLOC(cgrlc_data_ind,CGRLC_DATA_IND); /*T_CGRLC_DATA_IND*/ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
146 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
147 TRACE_FUNCTION( "gff_send_ctrl_block" ); | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
148 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
149 cgrlc_data_ind->fn = fn_i; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
150 cgrlc_data_ind->tn = tn_i; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
151 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
152 memcpy( cgrlc_data_ind->data_array, | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
153 ptr_ctrl_block_i, | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
154 CGRLC_MAX_CTRL_MSG_SIZE ); | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
155 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
156 PSEND(hCommGRR,cgrlc_data_ind); | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
157 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
158 }/* gff_send_ctrl_block() */ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
159 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
160 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
161 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
162 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
163 /* | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
164 +------------------------------------------------------------------------------ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
165 | Function : gff_analyse_dl_data | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
166 +------------------------------------------------------------------------------ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
167 | Description : The function gff_analyse_dl_data() .... It returns whether | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
168 | the downlink block was intended for that MS or not. | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
169 | | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
170 | Parameters : dummy - description of parameter dummy | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
171 | | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
172 +------------------------------------------------------------------------------ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
173 */ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
174 GLOBAL BOOL gff_analyse_dl_data (ULONG fn_i, T_dl_data * ptr_dl_data_i ) | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
175 { | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
176 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
177 BOOL tfi_correct = FALSE; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
178 UBYTE payload,rrbp,sp,tfi,*ptr_blk; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
179 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
180 TRACE_FUNCTION( "gff_analyse_dl_data" ); | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
181 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
182 /* | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
183 * Layer 1 buffer | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
184 * B1 B0 --> ptr_dl_data_i->dl_block[0] | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
185 * B3 B2 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
186 * | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
187 * B0 is the mac header | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
188 */ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
189 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
190 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
191 ptr_blk = (UBYTE *) (&ptr_dl_data_i->dl_block[0]); | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
192 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
193 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
194 payload = (ptr_blk[0] & 0xC0) >> 6; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
195 rrbp = (ptr_blk[0] & 0x30) >> 4; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
196 sp = (ptr_blk[0] & 0x08) >> 3; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
197 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
198 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
199 /* | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
200 * In Test mode B,if there is CRC error on the payload data the MS will, | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
201 * where required by the USF, transmit the decoded payload data. The block | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
202 * transmitted will be a valid uplink block format. | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
203 */ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
204 if(((ptr_dl_data_i->block_status & 0x0100) NEQ 0x0000) AND ((grlc_data->testmode.mode EQ CGRLC_LOOP))) | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
205 { | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
206 UBYTE bsn,e_bit; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
207 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
208 bsn = (ptr_blk[2] & 0xFE)>>1; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
209 e_bit = (ptr_blk[2] & 0x01); | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
210 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
211 TRACE_EVENT(" Bad CRC - In Testmode B "); | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
212 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
213 sig_gff_rd_data( fn_i, | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
214 (UBYTE)ptr_dl_data_i->tn, | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
215 ptr_dl_data_i->block_status, | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
216 rrbp, | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
217 sp, | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
218 bsn, | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
219 0, | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
220 e_bit, | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
221 ptr_blk); | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
222 } | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
223 else | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
224 { | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
225 if(payload EQ RLC_DATA_BLOCK) | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
226 { | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
227 UBYTE bsn,fbi,e_bit; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
228 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
229 tfi = (ptr_blk[1] & 0x3E) >> 1; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
230 bsn = (ptr_blk[2] & 0xFE)>>1; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
231 fbi = (ptr_blk[1] & 0x01); | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
232 e_bit = (ptr_blk[2] & 0x01); | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
233 ptr_blk = (UBYTE *) (&ptr_blk[3]); | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
234 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
235 if((tfi EQ grlc_data->dl_tfi) AND | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
236 ((0x80>>ptr_dl_data_i->tn) & grlc_data->dl_tn_mask)) | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
237 { | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
238 tfi_correct = TRUE; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
239 if(sp) | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
240 { | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
241 grlc_save_poll_pos ( fn_i,(UBYTE)ptr_dl_data_i->tn,rrbp, CGRLC_POLL_DATA, 3); | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
242 } | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
243 sig_gff_rd_data( fn_i, | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
244 (UBYTE)ptr_dl_data_i->tn, | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
245 ptr_dl_data_i->block_status, | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
246 rrbp, | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
247 sp, | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
248 bsn, | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
249 fbi, | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
250 e_bit, | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
251 ptr_blk); | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
252 #ifdef _TARGET_ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
253 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
254 TRACE_BINDUMP( hCommGRLC, TC_USER6, | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
255 "D_DATA_BLOCK including MAC header", &ptr_dl_data_i->dl_block[0],53); | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
256 #endif /* _TARGET_ */ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
257 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
258 } | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
259 else | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
260 { | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
261 TRACE_EVENT_P6("wrong tfi in data block ad.tfi=%d dl_tfi=%d bsn=%d || tn=%d->mask=%x tn_mask=%x" | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
262 ,tfi | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
263 ,grlc_data->dl_tfi | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
264 ,bsn | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
265 ,ptr_dl_data_i->tn | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
266 ,(0x80>>ptr_dl_data_i->tn) | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
267 ,grlc_data->dl_tn_mask); | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
268 } | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
269 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
270 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
271 } | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
272 else | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
273 { | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
274 /* | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
275 * any rlc control message received. | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
276 * check if it is a packet uplink ack/nack and if it is adressed to MS | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
277 */ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
278 ULONG tc_user = TC_USER4; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
279 UBYTE trace_msg_type = D_MSG_TYPE_UNKNOWN_c; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
280 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
281 UBYTE msg_type=0,i=0; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
282 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
283 if( payload EQ CTRL_BLK_NO_OPT ) | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
284 { | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
285 msg_type = trace_msg_type = ptr_blk[1]>>2; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
286 i = 2; /* Byte position of tfi in puan */ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
287 } | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
288 else if( payload EQ CTRL_BLK_OPT ) | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
289 { | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
290 if( !(ptr_blk[1] & 0x01) ) /* no tfi octet present: ac = 0 */ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
291 { | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
292 if( !(ptr_blk[1] & 0x80) ) /* not segmented : rbsn = 0 */ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
293 { | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
294 if( (ptr_blk[1] & 0x02) ) /* not segmented : fs = 1 */ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
295 { | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
296 msg_type = trace_msg_type = ptr_blk[2]>>2; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
297 i = 3; /* Byte position of tfi in puan */ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
298 } | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
299 else /* segmented : fs = 0 */ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
300 { | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
301 trace_msg_type = ptr_blk[2]>>2; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
302 } | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
303 } | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
304 else /* segmented : rbsn = 1 */ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
305 { | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
306 trace_msg_type = D_MSG_TYPE_2ND_SEGMENT_c; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
307 } | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
308 } | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
309 else /* tfi octet present : ac = 1 */ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
310 { | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
311 if( !(ptr_blk[1] & 0x80) ) /* not segmented : rbsn = 0 */ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
312 { | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
313 if( (ptr_blk[1] & 0x02) ) /* not segmented : fs = 1 */ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
314 { | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
315 msg_type = trace_msg_type = ptr_blk[3]>>2; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
316 i = 4; /* Byte position of tfi in puan */ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
317 } | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
318 else /* segmented : fs = 0 */ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
319 { | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
320 trace_msg_type = ptr_blk[3]>>2; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
321 } | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
322 } | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
323 else /* segmented : rbsn = 1 */ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
324 { | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
325 trace_msg_type = D_MSG_TYPE_2ND_SEGMENT_c; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
326 } | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
327 } | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
328 } | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
329 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
330 /* | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
331 * send control message to GRR | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
332 */ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
333 if(msg_type NEQ D_DL_DUMMY_c ) /* No Dummy blocks sent to GRR , to primitive load between GRR and GRLC*/ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
334 { | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
335 gff_send_ctrl_block(fn_i, (UBYTE)ptr_dl_data_i->tn,ptr_blk); | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
336 } | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
337 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
338 if( trace_msg_type EQ D_DL_DUMMY_c ) | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
339 { | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
340 tc_user = TC_USER5; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
341 } | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
342 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
343 TRACE_BINDUMP( hCommGRLC, tc_user, | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
344 cl_rlcmac_get_msg_name( trace_msg_type, RLC_MAC_ROUTE_DL ), | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
345 ptr_blk, MAX_L2_FRAME_SIZE ); /*lint !e569*/ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
346 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
347 if(msg_type EQ D_GRLC_UL_ACK_c) | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
348 { | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
349 /* | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
350 * tfi check for packet uplink ack nack | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
351 */ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
352 if(i EQ 4 AND /* tfi in header present */ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
353 !(ptr_blk[2] & 0x01) AND /* D=0 packet uplink tfi add. */ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
354 (((ptr_blk[2]) & 0x3E)>>1) EQ grlc_data->ul_tfi) /* header tfi addressed to MS */ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
355 { | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
356 tfi = ((ptr_blk[2]) & 0x3E)>>1; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
357 } | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
358 else | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
359 { | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
360 tfi = ((ptr_blk[i]) & 0x3E)>>1; /* Take tfi from airmessage*/ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
361 } | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
362 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
363 if((grlc_data->ul_tfi EQ tfi) AND | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
364 ((0x80>>ptr_dl_data_i->tn) & grlc_data->ul_tn_mask)) | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
365 { | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
366 T_MSGBUF msg; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
367 UBYTE data[22]; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
368 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
369 memset(data,0xEE,22); | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
370 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
371 msg.l_buf = (23 - i + 1) * 8; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
372 msg.o_buf = 0; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
373 msg.buf[0] = data[0]; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
374 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
375 memcpy(msg.buf, &(ptr_blk[i-1]), (msg.l_buf)/8); | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
376 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
377 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
378 if(sp) | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
379 { | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
380 grlc_save_poll_pos ( fn_i,(UBYTE)ptr_dl_data_i->tn,rrbp, CGRLC_POLL_UACK, 3); | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
381 } | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
382 grlc_decode_grlc (&msg); | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
383 sig_gff_ru_ul_ack ( fn_i,(UBYTE)ptr_dl_data_i->tn,rrbp,sp); | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
384 } | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
385 } | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
386 } | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
387 } | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
388 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
389 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
390 return( tfi_correct ); | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
391 } /* gff_analyse_dl_data() */ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
392 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
393 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
394 /* | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
395 +------------------------------------------------------------------------------ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
396 | Function : gff_handle_continious_ta | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
397 +------------------------------------------------------------------------------ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
398 | Description : store the new ta value, and pass it to L1 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
399 | | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
400 | Parameters : | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
401 | | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
402 +------------------------------------------------------------------------------ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
403 */ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
404 GLOBAL void gff_handle_continious_ta ( void ) | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
405 { | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
406 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
407 TRACE_FUNCTION( "gff_handle_continious_ta" ); | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
408 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
409 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
410 if(grlc_data->func.mac_ready_ind.ta_value NEQ 0xFF) | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
411 { | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
412 /* | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
413 * valid TA in L1 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
414 */ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
415 if(grlc_data->ta_value NEQ grlc_data->func.mac_ready_ind.ta_value ) | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
416 { | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
417 PALLOC(cgrlc_ta_value_ind,CGRLC_TA_VALUE_IND); | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
418 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
419 /* | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
420 * Current TA in GRLC differs from the TA in L1: store in GRLC | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
421 */ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
422 grlc_data->ta_value = grlc_data->func.mac_ready_ind.ta_value; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
423 cgrlc_ta_value_ind->ta_value = grlc_data->ta_value; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
424 PSEND(hCommGRR,cgrlc_ta_value_ind); | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
425 } | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
426 } | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
427 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
428 } /* gff_handle_continious_ta */ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
429 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
430 /* | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
431 +------------------------------------------------------------------------------ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
432 | Function : gff_clip_rxlev | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
433 +------------------------------------------------------------------------------ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
434 | Description : This function is used to clip received signal level values. | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
435 | | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
436 | Parameters : clipp - pointer to clipped received signal level values | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
437 | rxlev - pointer to received signal level values | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
438 | number - number of received signal level values | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
439 | | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
440 +------------------------------------------------------------------------------ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
441 */ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
442 GLOBAL void gff_clip_rxlev ( UBYTE *clipp, UBYTE *rxlev, UBYTE number ) | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
443 { | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
444 UBYTE i; /* used for counting */ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
445 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
446 TRACE_FUNCTION( "gff_clip_rxlev" ); | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
447 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
448 for( i = 0; i < number; i++ ) | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
449 { | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
450 if( (signed char)( rxlev[i] ) < MAC_RXLEV_MIN AND | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
451 rxlev[i] NEQ MAC_RXLEV_NONE ) | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
452 { | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
453 clipp[i] = MAC_RXLEV_MIN; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
454 } | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
455 else if ( (signed char)( rxlev[i] ) > MAC_RXLEV_MAX ) | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
456 { | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
457 clipp[i] = MAC_RXLEV_MAX; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
458 } | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
459 else if( rxlev[i] EQ MAC_RXLEV_NONE ) | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
460 { | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
461 clipp[i] = MAC_RXLEV_NONE; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
462 } | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
463 else | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
464 { | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
465 clipp[i] = rxlev[i]; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
466 } | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
467 } | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
468 } /* gff_clip_rxlev() */ | 
