FreeCalypso > hg > fc-tourmaline
annotate src/g23m-fad/fad/fad_rcvf.c @ 292:0f688d07b068
block deep sleep on activity in new PWT and vibrator drivers
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Sun, 27 Mar 2022 00:29:19 +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 : GSM-F&D (8411) | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
4 | Modul : FAD_RCVF | 
| 
 
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 Modul defines the procedures and functions for | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
18 | the component Fax Adaptation 3.45 of the mobile station | 
| 
 
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 FAD_RCVF_C | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
23 #define FAD_RCVF_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_FAD | 
| 
 
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 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
30 #include <string.h> | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
31 #include "typedefs.h" | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
32 #include "vsi.h" | 
| 
 
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 "pconst.cdg" | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
35 #include "custom.h" | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
36 #include "gsm.h" | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
37 #include "cnf_fad.h" | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
38 #include "mon_fad.h" | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
39 #include "prim.h" | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
40 #include "pei.h" | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
41 #include "tok.h" | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
42 #include "ccdapi.h" | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
43 #include "fad.h" | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
44 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
45 /*==== CONST =======================================================*/ | 
| 
 
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 /*==== TYPES =======================================================*/ | 
| 
 
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 /*==== VAR EXPORT ==================================================*/ | 
| 
 
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 /*==== VAR LOCAL ===================================================*/ | 
| 
 
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 /*==== 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 /* | 
| 
 
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 | PROJECT : GSM-F&D (8411) MODULE : FAD_RCVF | | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
58 | STATE : code ROUTINE : rcv_init | | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
59 +--------------------------------------------------------------------+ | 
| 
 
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 PURPOSE : initialise the fad data for the rcv formatter process | 
| 
 
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 */ | 
| 
 
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 GLOBAL void rcv_init (void) | 
| 
 
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 T_RCV *rcv = &fad_data->rcv; | 
| 
 
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 ("rcv_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 INIT_STATE (RCV, SYNC_RCV); | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
72 INIT_STATE (RCVSUB, SUB_IDLE); | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
73 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
74 rcv->data_in_rbm = FALSE; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
75 rcv->preamble_pending = FALSE; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
76 rcv->bcs_pending = TRUE; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
77 rcv->FlagFound = 0; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
78 rcv->train_flg = FALSE; /*???*/ | 
| 
 
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 rcv_ResetFormatter (); | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
81 } | 
| 
 
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 | PROJECT : GSM-F&D (8411) MODULE : FAD_RCVF | | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
86 | STATE : code ROUTINE : rcv_ResetFormatter | | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
87 +--------------------------------------------------------------------+ | 
| 
 
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 PURPOSE : | 
| 
 
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 */ | 
| 
 
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 GLOBAL void rcv_ResetFormatter (void) | 
| 
 
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 T_RCV *rcv = &fad_data->rcv; | 
| 
 
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 ("rcv_ResetFormatter()"); | 
| 
 
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 SET_STATE (RCVSUB, SUB_IDLE); | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
100 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
101 rcv->bytes_good = 0; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
102 rcv->bytes_expect = 0; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
103 rcv->bytes_rcvd = 0; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
104 rcv->prim_ready = FALSE; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
105 rcv->hdlc_len = 0; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
106 rcv->bcs_data_len = 0; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
107 rcv->data_bufpos = 0; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
108 } | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
109 | 
| 
 
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 +--------------------------------------------------------------------+ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
112 | PROJECT : GSM-F&D (8411) MODULE : FAD_RCVF | | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
113 | STATE : code ROUTINE : CheckBcsFrame | | 
| 
 
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 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
116 PURPOSE : get number of correct IDENT and data bytes (BCS data) | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
117 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
118 */ | 
| 
 
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 LOCAL void CheckBcsFrame (UBYTE *ident_ratio, UBYTE *info_ratio, | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
121 UBYTE *bcs_data, UBYTE ident, | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
122 UBYTE info, USHORT bcs_len) | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
123 { | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
124 UBYTE i, pream_good = 0, ident_good = 0; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
125 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
126 TRACE_FUNCTION ("CheckBcsFrame()"); | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
127 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
128 if (!bcs_len) | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
129 return; | 
| 
 
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 for (i = 0; i < bcs_len; bcs_data++, i++) | 
| 
 
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 if (i & 0x01) | 
| 
 
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 if (*bcs_data EQ info) | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
136 pream_good++; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
137 } | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
138 else | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
139 { | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
140 if (*bcs_data EQ ident) | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
141 ident_good++; | 
| 
 
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 } | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
144 bcs_len >>= 1; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
145 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
146 if (bcs_len) | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
147 { | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
148 *ident_ratio = (ident_good * 100) / bcs_len; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
149 *info_ratio = (pream_good * 100) / bcs_len; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
150 } | 
| 
 
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 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
153 /* | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
154 +--------------------------------------------------------------------+ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
155 | PROJECT : GSM-F&D (8411) MODULE : FAD_RCVF | | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
156 | STATE : code ROUTINE : rcv_FrameType | | 
| 
 
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 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
159 PURPOSE : | 
| 
 
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 GLOBAL UBYTE rcv_FrameType(T_FD *pFD) | 
| 
 
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 UBYTE *bcs_data, fr_type, len, ident_ratio, info_ratio; | 
| 
 
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 #ifdef _SIMULATION_ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
168 TRACE_FUNCTION ("rcv_FrameType()"); | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
169 #endif | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
170 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
171 fr_type = pFD->type; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
172 len = pFD->len; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
173 bcs_data = pFD->buf; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
174 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
175 switch (GET_STATE (RCV)) | 
| 
 
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 case SYNC_RCV: | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
178 switch (fr_type) | 
| 
 
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 case FR_STATUS: | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
181 CheckBcsFrame(&ident_ratio, &info_ratio, bcs_data, IDENT_BCS_REC, HDLC_FLAG, len); | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
182 if (ident_ratio < BCS_TOLERANCE) | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
183 return (FT_NONE); /* not a BCS frame */ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
184 if (info_ratio >= BCS_TOLERANCE) | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
185 return (FT_PREAMBLE); | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
186 break; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
187 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
188 case FR_TRAIN: | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
189 CheckBcsFrame(&ident_ratio, &info_ratio, bcs_data, IDENT_MSG_REC, VAL_TRAIN, len); | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
190 if (ident_ratio >= TRAIN_TOLERANCE) | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
191 break; /* STATUS-TRAIN frame */ | 
| 
 
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 CheckBcsFrame(&ident_ratio, &info_ratio, bcs_data, IDENT_MSG_TRA, VAL_TRAIN, len); | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
194 if (ident_ratio >= TRAIN_TOLERANCE) | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
195 return (FT_TRAIN_RESPONSE); /* response to TRAINING */ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
196 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
197 return (FT_NONE); | 
| 
 
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 break; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
200 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
201 case PREAM_RCV: | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
202 switch (fr_type) | 
| 
 
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 case FR_STATUS: | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
205 CheckBcsFrame(&ident_ratio, &info_ratio, bcs_data, IDENT_BCS_REC, VAL_TCF, len); | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
206 if (ident_ratio < BCS_TOLERANCE) | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
207 return (FT_NONE); /* not a BCS frame */ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
208 if (info_ratio >= BCS_TOLERANCE) | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
209 return (FT_PREAMBLE); | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
210 break; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
211 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
212 default: | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
213 return (FT_NONE); | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
214 } | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
215 break; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
216 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
217 case BCS_RCV: | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
218 if (fr_type EQ FR_STATUS) | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
219 { | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
220 CheckBcsFrame(&ident_ratio, &info_ratio, bcs_data, IDENT_BCS_REC, HDLC_FLAG, len); | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
221 if (ident_ratio < BCS_TOLERANCE) | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
222 return (FT_NONE); /* not a BCS frame */ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
223 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
224 if (GET_STATE (RCVSUB) EQ SUB_PREAMBLE) | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
225 { | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
226 if (info_ratio EQ 100) | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
227 return (FT_NONE); /* still receiving PREAMBLE */ | 
| 
 
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 SET_STATE (RCVSUB, SUB_DATA); | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
230 } | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
231 } | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
232 break; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
233 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
234 default: | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
235 break; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
236 } | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
237 return (fr_type); | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
238 } | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
239 | 
| 
 
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 +--------------------------------------------------------------------+ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
242 | PROJECT : GSM-F&D (8411) MODULE : FAD_RCVF | | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
243 | STATE : code ROUTINE : rcv_SetHdlcFrame | | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
244 +--------------------------------------------------------------------+ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
245 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
246 PURPOSE : set BCS data as HDLC frame for T30/ACI | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
247 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
248 */ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
249 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
250 GLOBAL void rcv_SetHdlcFrame (T_FD *pFD, UBYTE *hdlc_data, USHORT *hdlc_len) | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
251 { | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
252 UBYTE *bcs_data = pFD->buf; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
253 USHORT flag_found = 0, i, k; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
254 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
255 #define HDLC_MAX 2 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
256 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
257 #ifdef _SIMULATION_ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
258 TRACE_FUNCTION ("rcv_SetHdlcFrame()"); | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
259 #endif | 
| 
 
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 for (i = 0; i < pFD->len; i++, bcs_data++) | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
262 { | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
263 if (i & 0x0001) | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
264 { | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
265 *hdlc_data++ = *bcs_data; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
266 (*hdlc_len)++; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
267 | 
| 
 
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 * if preamble is disturbed | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
270 * discard erroneous HDLC data | 
| 
 
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 if (*hdlc_len > HDLC_MAX) | 
| 
 
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 * check last HDLC data; allow trailing HDLC flags | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
276 */ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
277 for (k = *hdlc_len - HDLC_MAX; k < *hdlc_len; k++) | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
278 { | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
279 if (fad_data->rcv.hdlc[k] EQ HDLC_FLAG) | 
| 
 
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 flag_found++; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
282 TRACE_EVENT("HDLC flags during SUB_DATA found"); | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
283 } | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
284 if (flag_found EQ HDLC_MAX) | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
285 { | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
286 TRACE_EVENT("HDLC buffer cleared again"); | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
287 hdlc_data = fad_data->rcv.hdlc; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
288 *hdlc_len = 0; | 
| 
 
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 } | 
| 
 
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 } | 
| 
 
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 } | 
| 
 
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 /* | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
297 +--------------------------------------------------------------------+ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
298 | PROJECT : GSM-F&D (8411) MODULE : FAD_RCVF | | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
299 | STATE : code ROUTINE : rcv_SetErrorRatio | | 
| 
 
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 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
302 PURPOSE : calculate no. of correctly received TCF bytes | 
| 
 
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 */ | 
| 
 
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 GLOBAL void rcv_SetErrorRatio(T_FD *pFD) | 
| 
 
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 void t30_ker_debug(CHAR *header, UBYTE *buf, USHORT len); | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
309 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
310 UBYTE *buf = pFD->buf, i; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
311 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
312 TRACE_FUNCTION ("rcv_SetErrorRatio()"); | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
313 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
314 #if defined TRACE_FAD_DL_TCF || defined _SIMULATION_ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
315 t30_ker_debug("TCF", buf, pFD->len); | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
316 #endif | 
| 
 
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 for (i = 0; i < pFD->len; i++, buf++) | 
| 
 
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 if (*buf EQ VAL_TCF) | 
| 
 
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 fad_data->rcv.bytes_good++; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
323 } | 
| 
 
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 } | 
| 
 
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 | PROJECT : GSM-F&D (8411) MODULE : FAD_RCVF | | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
331 | STATE : code ROUTINE : rcv_StoreMsgData | | 
| 
 
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 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
334 PURPOSE : pass SDU to Receive Buffer Manager (RBM) | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
335 | 
| 
 
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 GLOBAL BOOL rcv_StoreMsgData (T_FD *pFD, BOOL *primAvail) | 
| 
 
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 TRACE_FUNCTION ("rcv_StoreMsgData()"); | 
| 
 
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 return rbm_store_frames(pFD, primAvail); | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
343 } | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
344 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
345 /* | 
| 
 
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 | PROJECT : GSM-F&D (8411) MODULE : FAD_RCVF | | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
348 | STATE : code ROUTINE : rcv_SetFinalBuffer | | 
| 
 
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 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
351 PURPOSE : set RBM for final MSG data | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
352 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
353 */ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
354 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
355 GLOBAL void rcv_SetFinalBuffer (void) | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
356 { | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
357 T_FAD_DATA_IND *fad_data_ind; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
358 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
359 TRACE_FUNCTION ("rcv_SetFinalBuffer()"); | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
360 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
361 rcv_GetMsgData (&fad_data_ind, FALSE); | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
362 sig_rcv_ker_msg_ind (fad_data_ind); | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
363 fad_data->rcv.t30_req_frames = FALSE; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
364 } | 
| 
 
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 /* | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
367 +--------------------------------------------------------------------+ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
368 | PROJECT : GSM-F&D (8411) MODULE : FAD_RCVF | | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
369 | STATE : code ROUTINE : rcv_GetMsgData | | 
| 
 
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 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
372 PURPOSE : | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
373 | 
| 
 
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 | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
376 GLOBAL BOOL rcv_GetMsgData (T_FAD_DATA_IND **fad_data_ind, BOOL data_incoming) | 
| 
 
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 TRACE_FUNCTION ("rcv_GetMsgData()"); | 
| 
 
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 *fad_data_ind = rbm_get_prim (); | 
| 
 
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 if (data_incoming) | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
383 { | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
384 /* MSG data still being received */ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
385 if (*fad_data_ind EQ NULL) | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
386 return FALSE; | 
| 
 
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 (*fad_data_ind)->final = FALSE; | 
| 
 
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 else | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
391 { | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
392 /* MSG data no longer being received - SYNC detected */ | 
| 
 
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 if (*fad_data_ind NEQ NULL) | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
395 (*fad_data_ind)->final = FALSE; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
396 else | 
| 
 
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 *fad_data_ind = rbm_get_curr_prim (); | 
| 
 
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 /* buffer empty - end of MSG phase */ | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
401 fad_data->rcv.data_in_rbm = FALSE; | 
| 
 
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 if (*fad_data_ind EQ NULL) | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
404 return FALSE; | 
| 
 
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 (*fad_data_ind)->final = TRUE; | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
407 } | 
| 
 
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 return (TRUE); | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
410 } | 
| 
 
fa8dc04885d8
src/g23m-*: import from Magnetite
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
411 | 
