FreeCalypso > hg > fc-magnetite
annotate src/gpf2/tst/drv/tr2.c @ 627:4a8dacbe9187
targets/*.h: #define GPIO1_SPEAKER_CTRL to 0 or 1 as appropriate
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Mon, 23 Dec 2019 07:12:10 +0000 | 
| parents | cd37d228dae0 | 
| children | 
| rev | line source | 
|---|---|
| 
294
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1 /* | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2 +------------------------------------------------------------------------------ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3 | File: tr.c | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
4 +------------------------------------------------------------------------------ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
5 | Copyright 2004 Texas Instruments Deutschland, AG | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
6 | All rights reserved. | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
7 | | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
8 | This file is confidential and a trade secret of Texas | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
9 | Instruments Berlin, AG | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
10 | The receipt of or possession of this file does not convey | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
11 | any rights to reproduce or disclose its contents or to | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
12 | manufacture, use, or sell anything it may describe, in | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
13 | whole, or in part, without the specific written consent of | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
14 | Texas Instruments Deutschland, AG. | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
15 +----------------------------------------------------------------------------- | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
16 | Purpose : This Modul contains the TR driver | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
17 +----------------------------------------------------------------------------- | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
18 */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
19 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
20 #ifndef __TR_C__ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
21 #define __TR_C__ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
22 #endif | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
23 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
24 #include "string.h" | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
25 #include "typedefs.h" | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
26 #include "gdi.h" | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
27 #include "vsi.h" | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
28 #include "os.h" | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
29 #ifdef _TOOLS_ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
30 #include <stdio.h> | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
31 #include "glob_defs.h" | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
32 #include "tstdriver.h" | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
33 #include "frame.h" | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
34 #include "frame_const.h" | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
35 #include "printtofile.h" | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
36 #endif /* _TOOLS_ */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
37 #include "tstheader.h" | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
38 #include "tst_mux.h" | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
39 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
40 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
41 /*==== TYPES ======================================================*/ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
42 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
43 typedef struct | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
44 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
45 T_VOID_STRUCT *RcvBuffer; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
46 USHORT Handle; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
47 USHORT EnabledSignalType; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
48 T_DRV_CB_FUNC Callback; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
49 USHORT config; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
50 UBYTE rcv_state; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
51 UBYTE idle_state; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
52 } T_TR_DATA; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
53 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
54 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
55 /*==== CONSTANTS ==================================================*/ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
56 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
57 #define ALLOWED_TR_SIGNALS (DRV_SIGTYPE_READ|DRV_SIGTYPE_CONNECT|DRV_SIGTYPE_DISCONNECT) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
58 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
59 #define STX 0x02 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
60 #define TI_RIV_ID 0x11 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
61 #define TI_L1_ID 0x12 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
62 #define TI_L23_ID 0x13 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
63 #define TI_STX 0x02 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
64 #define TI_ESC 0x10 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
65 #define CHAR_ABORT 'A' | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
66 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
67 #define DATA_SEGMENT_SIZE 223 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
68 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
69 #define WAIT_FOR_STX 0 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
70 #define WAIT_FOR_IDENT 1 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
71 #define WAIT_FOR_TIMESTAMP 2 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
72 #define WAIT_FOR_LENGTH 3 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
73 #define WAIT_FOR_SND 4 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
74 #define WAIT_FOR_RCV 5 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
75 #define WAIT_FOR_DATA 6 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
76 #define WAIT_FOR_CR 7 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
77 #define WAIT_FOR_TI_ID 8 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
78 #define WAIT_FOR_TI_LEN_0 9 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
79 #define WAIT_FOR_TI_LEN_1 10 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
80 #define WAIT_FOR_TI_LEN_2 11 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
81 #define WAIT_FOR_LENGTH1 12 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
82 #define WAIT_FOR_LENGTH2 13 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
83 #define WAIT_FOR_RAW_TI_S 14 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
84 #define WAIT_FOR_RAW_TI_ID 15 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
85 #define WAIT_FOR_RAW_TI_E 16 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
86 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
87 #define WAIT_FOR_MUX_START_STX 1 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
88 #define WAIT_FOR_MUX_CHAN_ID 2 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
89 #define WAIT_FOR_MUX_END_STX 3 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
90 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
91 #define STX_LF_MODE 0x0001 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
92 #define TI_TRC_MODE 0x0002 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
93 #define TI_RAW_TRC_MODE 0x0004 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
94 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
95 /*==== EXTERNALS ==================================================*/ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
96 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
97 extern ULONG TR_RcvBufferSize; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
98 extern ULONG TR_MaxInd; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
99 extern USHORT ext_data_pool_handle; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
100 extern T_TST_MUX_CHANNEL tst_mux_chan_struct[]; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
101 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
102 /*==== VARIABLES ==================================================*/ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
103 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
104 #ifndef RUN_INT_RAM | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
105 #ifndef _TARGET_ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
106 long int accessNum = 0; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
107 #endif | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
108 T_TR_DATA TR_Data; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
109 static char *TR_RcvBuffer; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
110 static ULONG TR_EndInd; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
111 static ULONG TR_WrInd; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
112 static ULONG TR_RdInd; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
113 static ULONG MessageLength; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
114 static union { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
115 unsigned short int val; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
116 char part[2]; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
117 }tst_trailer_size; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
118 #else | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
119 extern T_TR_DATA TR_Data; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
120 #endif | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
121 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
122 #ifdef _TOOLS_ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
123 static int ti_id_not_found; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
124 static int ti_esc_skipped; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
125 extern int tst_message_received; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
126 #else | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
127 extern ULONG MaxPrimPartSize; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
128 #endif | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
129 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
130 /*==== FUNCTIONS ==================================================*/ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
131 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
132 #ifndef RUN_INT_RAM | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
133 USHORT TR_Write ( void *Buffer, ULONG *BytesToWrite ); | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
134 #endif | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
135 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
136 #ifndef RUN_INT_RAM | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
137 /* | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
138 +--------------------------------------------------------------------+ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
139 | PROJECT : GSM-Frame (8415) MODULE : TR | | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
140 | STATE : code ROUTINE : TR_Exit | | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
141 +--------------------------------------------------------------------+ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
142 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
143 PURPOSE : exit a driver | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
144 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
145 */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
146 LOCAL void TR_Exit ( void ) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
147 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
148 os_DeallocateMemory ( 0, TR_Data.RcvBuffer ); | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
149 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
150 #endif | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
151 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
152 #ifndef RUN_INT_RAM | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
153 /* | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
154 +--------------------------------------------------------------------+ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
155 | PROJECT : GSM-Frame (8415) MODULE : TR | | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
156 | STATE : code ROUTINE : TR_Read | | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
157 +--------------------------------------------------------------------+ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
158 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
159 PURPOSE : read data from driver | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
160 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
161 */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
162 LOCAL USHORT TR_Read ( void *Buffer, ULONG *BytesToRead ) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
163 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
164 ULONG Space = TR_EndInd - (TR_RdInd & TR_MaxInd); | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
165 static ULONG bytes_read; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
166 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
167 if ( *BytesToRead == 0 ) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
168 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
169 *BytesToRead = MessageLength; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
170 bytes_read = 0; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
171 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
172 else | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
173 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
174 if ( Space > *BytesToRead ) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
175 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
176 memcpy ( Buffer, &TR_RcvBuffer[TR_RdInd&TR_MaxInd], *BytesToRead ); | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
177 bytes_read += *BytesToRead; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
178 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
179 else | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
180 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
181 memcpy ( Buffer, &TR_RcvBuffer[TR_RdInd&TR_MaxInd], (unsigned int)Space ); | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
182 *BytesToRead = Space; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
183 bytes_read += Space; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
184 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
185 TR_RdInd += *BytesToRead; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
186 if ( TR_Data.config & STX_LF_MODE ) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
187 if ( bytes_read == MessageLength ) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
188 TR_RdInd++; /* skip th LF, its not read by the TIF driver */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
189 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
190 return DRV_OK; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
191 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
192 #endif | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
193 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
194 #ifndef RUN_INT_RAM | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
195 /* | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
196 +--------------------------------------------------------------------+ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
197 | PROJECT : GSM-Frame (8415) MODULE : TR | | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
198 | STATE : code ROUTINE : TR_Write | | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
199 +--------------------------------------------------------------------+ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
200 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
201 PURPOSE : write data to driver | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
202 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
203 */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
204 USHORT TR_Write ( void *Buffer, ULONG *BytesToWrite ) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
205 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
206 char *snd_ptr = (char*)Buffer; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
207 ULONG btw; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
208 char ti_mode_header[2]; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
209 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
210 ti_mode_header[0] = TI_STX; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
211 ti_mode_header[1] = TI_L23_ID; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
212 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
213 #ifdef _TOOLS_ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
214 btw=(*BytesToWrite) & ~PRIM_FLAG_MASK; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
215 #else | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
216 btw=(*BytesToWrite); | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
217 #endif | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
218 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
219 #ifdef _TOOLS_ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
220 if (TR_Data.config & TI_RAW_TRC_MODE) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
221 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
222 ULONG full_btw, segment_size; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
223 /*lint -e813, suppress Info 813: auto variable 'osver' has size '148' */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
224 char segment[DATA_SEGMENT_SIZE*2+3]; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
225 /*lint +e813 */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
226 ULONG q; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
227 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
228 full_btw=btw; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
229 while (full_btw) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
230 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
231 btw= (full_btw>DATA_SEGMENT_SIZE) ? DATA_SEGMENT_SIZE : full_btw; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
232 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
233 /* fill in leading bytes */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
234 segment_size=0; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
235 segment[segment_size++]=TI_STX; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
236 segment[segment_size++]=TI_L23_ID; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
237 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
238 /* fill in payload bytes */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
239 for (q=0; q<btw; q++) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
240 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
241 /* evtl insert TI_ESC characters */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
242 if (snd_ptr[q]==TI_STX || snd_ptr[q]==TI_ESC) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
243 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
244 segment[segment_size++]=TI_ESC; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
245 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
246 segment[segment_size++]=snd_ptr[q]; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
247 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
248 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
249 /* fill in trailing bytes */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
250 segment[segment_size++]=TI_STX; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
251 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
252 /* write segment */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
253 if ( vsi_d_write ( TR_Data.Handle, 0, (void*)segment, segment_size) != VSI_OK ) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
254 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
255 return DRV_INTERNAL_ERROR; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
256 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
257 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
258 full_btw=full_btw-btw; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
259 if (full_btw) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
260 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
261 snd_ptr=snd_ptr+btw; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
262 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
263 /* let the ti driver on target handle the byte-block */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
264 vsi_t_sleep ( 0, 100 ); | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
265 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
266 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
267 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
268 return DRV_OK; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
269 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
270 #endif /* _TOOLS_ */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
271 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
272 /* | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
273 * To avoid reallocation and memcpy() the STX is written in front of the passed | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
274 * data. This works as long as the sizeof(T_SYST_HEADER) is bigger than the header | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
275 * sent via the test interface. | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
276 */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
277 if ( TR_Data.config & STX_LF_MODE ) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
278 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
279 btw=(*BytesToWrite) & ~PRIM_FLAG_MASK; /* not really generic, but we need to mask here */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
280 /* we assume that the TITRC driver is not below */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
281 if ( *BytesToWrite & PRIM_DATA_FLAG ) /* primitive data -> LF at the end */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
282 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
283 *(snd_ptr+btw) = '\n'; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
284 btw = btw + 1; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
285 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
286 else if ( *BytesToWrite & PRIM_HEADER_FLAG ) /* primitive header -> add STX in front */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
287 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
288 snd_ptr--; /* it is posible to add STX because the first */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
289 *snd_ptr = STX; /* byte of TST_SMALL_HEADER/TST_BIG_HEADER in unused */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
290 btw = btw + 1; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
291 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
292 else /* trace -> STX in front, LF at the end */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
293 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
294 *(snd_ptr+btw) = '\n'; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
295 snd_ptr--; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
296 *snd_ptr = STX; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
297 btw = btw + 2; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
298 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
299 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
300 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
301 /* Add mux STX and channel id if not already in */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
302 if (TR_Data.config & TI_RAW_TRC_MODE && *snd_ptr != TI_STX ) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
303 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
304 if ( vsi_d_write ( TR_Data.Handle, 0, (void*)ti_mode_header, 2) != VSI_OK ) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
305 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
306 return DRV_INTERNAL_ERROR; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
307 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
308 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
309 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
310 if ( vsi_d_write ( TR_Data.Handle, 0, (void*)snd_ptr, btw) != VSI_OK ) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
311 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
312 return DRV_INTERNAL_ERROR; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
313 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
314 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
315 return DRV_OK; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
316 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
317 #endif | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
318 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
319 #ifndef RUN_INT_RAM | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
320 /* | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
321 +--------------------------------------------------------------------+ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
322 | PROJECT : GSM-Frame (8415) MODULE : TR | | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
323 | STATE : code ROUTINE : TR_SetSignal | | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
324 +--------------------------------------------------------------------+ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
325 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
326 PURPOSE : enable signal for the driver | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
327 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
328 */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
329 LOCAL USHORT TR_SetSignal ( USHORT SignalType ) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
330 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
331 if ( !(SignalType & ALLOWED_TR_SIGNALS) ) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
332 return DRV_INVALID_PARAMS; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
333 else | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
334 TR_Data.EnabledSignalType |= SignalType; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
335 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
336 return DRV_OK; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
337 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
338 #endif | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
339 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
340 #ifndef RUN_INT_RAM | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
341 /* | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
342 +--------------------------------------------------------------------+ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
343 | PROJECT : GSM-Frame (8415) MODULE : TR | | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
344 | STATE : code ROUTINE : TR_ResetSignal | | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
345 +--------------------------------------------------------------------+ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
346 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
347 PURPOSE : disable signal for the driver | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
348 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
349 */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
350 LOCAL USHORT TR_ResetSignal ( USHORT SignalType ) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
351 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
352 if ( !(SignalType & ALLOWED_TR_SIGNALS) ) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
353 return DRV_INVALID_PARAMS; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
354 else | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
355 TR_Data.EnabledSignalType &= ~SignalType; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
356 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
357 return DRV_OK; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
358 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
359 #endif | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
360 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
361 #ifndef RUN_INT_RAM | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
362 /* | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
363 +--------------------------------------------------------------------+ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
364 | PROJECT : GSM-Frame (8415) MODULE : TR | | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
365 | STATE : code ROUTINE : TR_SetConfig | | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
366 +--------------------------------------------------------------------+ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
367 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
368 PURPOSE : set configuration for the driver | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
369 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
370 */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
371 LOCAL USHORT TR_SetConfig ( char *Buffer ) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
372 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
373 if ( !strcmp ( TR_STX_LF, Buffer ) ) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
374 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
375 TR_Data.config = STX_LF_MODE; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
376 TR_Data.rcv_state = WAIT_FOR_STX; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
377 TR_Data.idle_state = WAIT_FOR_STX; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
378 #ifdef _TOOLS_ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
379 printf ("TR: STX mode enabled\n"); | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
380 #endif /* _TOOLS_ */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
381 return DRV_OK; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
382 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
383 #ifdef _TOOLS_ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
384 else if ( !strcmp ( DRV_TI_MODE, Buffer ) ) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
385 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
386 TR_Data.config = TI_TRC_MODE; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
387 TR_Data.rcv_state = WAIT_FOR_TI_ID; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
388 TR_Data.idle_state = WAIT_FOR_TI_ID; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
389 printf ("TR: TI mode enabled\n"); | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
390 return DRV_OK; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
391 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
392 #endif /* _TOOLS_ */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
393 else if ( !strcmp ( DRV_RAW_TI_MODE, Buffer ) ) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
394 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
395 TR_Data.config = TI_RAW_TRC_MODE; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
396 TR_Data.rcv_state = WAIT_FOR_RAW_TI_S; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
397 TR_Data.idle_state = WAIT_FOR_RAW_TI_S; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
398 #ifdef _TOOLS_ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
399 printf ("TR: raw TI mode enabled\n"); | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
400 #endif | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
401 return DRV_OK; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
402 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
403 else if ( !strcmp ( DRV_DEFAULT, Buffer ) ) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
404 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
405 TR_Data.config = 0; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
406 TR_Data.rcv_state = WAIT_FOR_IDENT; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
407 TR_Data.idle_state = WAIT_FOR_IDENT; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
408 #ifdef _TOOLS_ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
409 accessNum++; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
410 PrintToFile("TR: default mode selected __________________________ (%d)\n", accessNum); | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
411 #endif /* _TOOLS_ */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
412 return DRV_OK; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
413 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
414 else | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
415 return DRV_INVALID_PARAMS; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
416 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
417 #endif | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
418 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
419 #ifndef RUN_INT_RAM | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
420 /* | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
421 +--------------------------------------------------------------------+ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
422 | PROJECT : GSM-Frame (8415) MODULE : TR | | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
423 | STATE : code ROUTINE : Callback | | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
424 +--------------------------------------------------------------------+ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
425 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
426 PURPOSE : callback function of the driver | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
427 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
428 */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
429 /*lint -esym(644,infoByteAddr) suppress warning -- Symbol 'infoByteAddr' may not have been initialized */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
430 LOCAL void TR_Callback ( T_DRV_SIGNAL *Signal ) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
431 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
432 static T_DRV_SIGNAL TR_Signal; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
433 static USHORT counter = 0; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
434 static char* infoByteAddr; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
435 int tr_abort_discard; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
436 int tr_abort; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
437 unsigned char c; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
438 ULONG i; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
439 ULONG BytesToRead; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
440 ULONG BytesRead = 0; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
441 ULONG TR_WorkInd; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
442 ULONG Bytes = 0; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
443 USHORT continue_read; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
444 //#ifdef _TOOLS_ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
445 static unsigned int ti_len = 0; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
446 static char ti_id = 0; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
447 static int sigtype = 0; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
448 static int lf_found; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
449 static int crlf_found; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
450 static U8 mux_chan_id; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
451 static U8 mux_chan = 0; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
452 static U8 mux_status = WAIT_FOR_MUX_CHAN_ID; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
453 static int stuffed_byte; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
454 //#endif | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
455 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
456 tr_abort_discard = 0; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
457 tr_abort = 0; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
458 TR_Signal.SignalType = 0; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
459 switch ( Signal->SignalType ) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
460 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
461 case DRV_SIGTYPE_READ: | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
462 BytesToRead = TR_EndInd - TR_WrInd; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
463 TR_WorkInd = TR_WrInd; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
464 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
465 do | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
466 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
467 Bytes = 0; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
468 do | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
469 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
470 continue_read = 0; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
471 /* | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
472 * write counter must not overtake the read counter. If more bytes to be read | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
473 * than space available, then process the bytes in the buffer first and then | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
474 * continue to store new data in the TR_RcvBuffer. | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
475 */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
476 if ( TR_WrInd >= (TR_RdInd&TR_MaxInd) ) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
477 BytesToRead = TR_EndInd - TR_WrInd; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
478 else | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
479 BytesToRead = (TR_RdInd&TR_MaxInd) - TR_WrInd; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
480 BytesRead = BytesToRead; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
481 vsi_d_read ( TR_Data.Handle, 0, (void*)&TR_RcvBuffer[TR_WrInd], &BytesRead ); | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
482 Bytes += BytesRead; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
483 if ( BytesRead < BytesToRead ) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
484 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
485 TR_WrInd += BytesRead; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
486 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
487 else | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
488 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
489 if ( TR_WrInd >= (TR_RdInd&TR_MaxInd) ) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
490 TR_WrInd = 0; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
491 else | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
492 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
493 TR_WrInd += BytesRead; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
494 continue_read = 1; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
495 break; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
496 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
497 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
498 } while ( BytesRead != TR_RcvBufferSize && BytesRead == BytesToRead ); | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
499 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
500 if ( Bytes ) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
501 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
502 UBYTE cMasked; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
503 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
504 i=0; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
505 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
506 while (i++ < Bytes) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
507 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
508 c = TR_RcvBuffer[(TR_WorkInd++) & TR_MaxInd]; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
509 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
510 #ifdef _TOOLS_ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
511 if (TR_Data.config & TI_RAW_TRC_MODE) /* we are receiving rawly in TI mode */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
512 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
513 if (!ti_esc_skipped && c==TI_ESC) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
514 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
515 /* the TI driver has inserted an TI_ESC -> skip it */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
516 ULONG q; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
517 for (q=TR_WorkInd-1; q>TR_RdInd; q--) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
518 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
519 TR_RcvBuffer[q & TR_MaxInd]=TR_RcvBuffer[(q-1) & TR_MaxInd]; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
520 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
521 TR_RdInd++; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
522 ti_esc_skipped=1; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
523 continue; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
524 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
525 ti_esc_skipped=0; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
526 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
527 #endif /* _TOOLS_ */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
528 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
529 if ( tr_abort_discard == 1 ) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
530 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
531 TR_RdInd++; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
532 continue; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
533 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
534 switch (TR_Data.rcv_state) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
535 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
536 case WAIT_FOR_STX: | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
537 if (c == STX) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
538 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
539 #ifdef _TOOLS_ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
540 ti_len=0; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
541 #endif | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
542 TR_Data.rcv_state = WAIT_FOR_IDENT; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
543 TR_RdInd = TR_WorkInd; /* do not pass the STX to TIF */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
544 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
545 else | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
546 TR_RdInd++; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
547 break; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
548 //#ifdef _TOOLS_ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
549 case WAIT_FOR_RAW_TI_S: | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
550 if (c==TI_STX) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
551 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
552 TR_Data.rcv_state=WAIT_FOR_RAW_TI_ID; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
553 TR_RdInd = TR_WorkInd; /* do not read TI_STX */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
554 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
555 break; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
556 case WAIT_FOR_RAW_TI_ID: | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
557 if (c==TI_STX) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
558 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
559 // last TI_STX was end ID -> ignore this start ID | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
560 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
561 else if (c==TI_L23_ID) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
562 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
563 ti_len = 0; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
564 ti_id = c; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
565 TR_Data.rcv_state=WAIT_FOR_IDENT; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
566 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
567 else if (c == TI_L1_ID || c == TI_RIV_ID) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
568 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
569 ti_len = 0; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
570 ti_id = c; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
571 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
572 if (ti_id == TI_L1_ID) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
573 sigtype = DRV_SIGTYPE_READ_L1; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
574 if (ti_id == TI_RIV_ID) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
575 sigtype = DRV_SIGTYPE_READ_RIV; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
576 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
577 counter = 0; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
578 TR_RdInd = TR_WorkInd; /* do not read ti_id */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
579 crlf_found = 0; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
580 lf_found = 0; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
581 TR_Data.rcv_state=WAIT_FOR_RAW_TI_E; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
582 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
583 else | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
584 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
585 mux_chan_id = c; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
586 if ( mux_status == WAIT_FOR_MUX_CHAN_ID ) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
587 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
588 for ( mux_chan = 0; mux_chan < MAX_TST_CHANNEL; mux_chan++ ) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
589 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
590 if ( tst_mux_chan_struct[mux_chan].channel_id == c ) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
591 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
592 mux_status = WAIT_FOR_MUX_END_STX; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
593 tst_mux_chan_struct[mux_chan].rcv_data_ptr = &TR_RcvBuffer[(TR_WorkInd) & TR_MaxInd]; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
594 tst_mux_chan_struct[mux_chan].rcv_data_size = 0; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
595 stuffed_byte = 0; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
596 TR_RdInd = TR_WorkInd; /* do not read id */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
597 TR_Data.rcv_state=WAIT_FOR_RAW_TI_E; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
598 break; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
599 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
600 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
601 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
602 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
603 break; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
604 #ifdef _TOOLS_ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
605 case WAIT_FOR_TI_ID: | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
606 /* skip TI ID byte */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
607 if (c == TI_L23_ID || c == TI_L1_ID || c == TI_RIV_ID) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
608 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
609 ti_len = 0; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
610 ti_id = c; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
611 TR_Data.rcv_state = WAIT_FOR_TI_LEN_0; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
612 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
613 else | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
614 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
615 ti_id_not_found = 1; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
616 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
617 break; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
618 case WAIT_FOR_TI_LEN_0: | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
619 /* | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
620 * skip length | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
621 * if length byte == 0 then the next 2 bytes are the length | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
622 * (patch to handle messages longer than 255 bytes) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
623 */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
624 if ( c != 0 ) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
625 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
626 if (ti_id == TI_L23_ID) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
627 TR_Data.rcv_state = WAIT_FOR_IDENT; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
628 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
629 if (ti_id == TI_L1_ID || ti_id == TI_RIV_ID) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
630 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
631 if (ti_id == TI_L1_ID) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
632 sigtype = DRV_SIGTYPE_READ_L1; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
633 if (ti_id == TI_RIV_ID) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
634 sigtype = DRV_SIGTYPE_READ_RIV; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
635 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
636 TR_Data.rcv_state = WAIT_FOR_DATA; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
637 counter = 0; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
638 TR_RdInd += 2; /* do not read ti_id and length */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
639 crlf_found = 0; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
640 lf_found = 0; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
641 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
642 ti_len = c & 0xff; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
643 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
644 else | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
645 TR_Data.rcv_state = WAIT_FOR_TI_LEN_1; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
646 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
647 break; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
648 case WAIT_FOR_TI_LEN_1: | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
649 ti_len = c ; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
650 TR_Data.rcv_state = WAIT_FOR_TI_LEN_2; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
651 break; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
652 case WAIT_FOR_TI_LEN_2: | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
653 ti_len |= c << 8; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
654 TR_Data.rcv_state = WAIT_FOR_IDENT; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
655 break; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
656 #endif /* ifdef _TOOLS_ */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
657 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
658 case WAIT_FOR_IDENT: | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
659 infoByteAddr = &TR_RcvBuffer[(TR_WorkInd - 1) & TR_MaxInd]; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
660 /* analyze INFO Byte */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
661 cMasked = (c & HDR_VERSION_MASK); | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
662 #ifdef _TOOLS_ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
663 if (cMasked == HDR_VALID_VERSION_0) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
664 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
665 i--; TR_WorkInd--; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
666 printf ("TR: changed to OLD header format automatically\n"); | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
667 // tst_drv_write ( NO_TASK, SYS_MASK, FRM_TST_NAME, (char*)SYSPRIM_GET_STACK_TIME ); | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
668 break; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
669 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
670 /* check for lost bytes on interface */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
671 if (TR_Data.config & TI_TRC_MODE || | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
672 TR_Data.config & TI_RAW_TRC_MODE) /* we are receiving from a arm 7 TARGET */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
673 { /* TR_WorkInd refs position of first size byte now */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
674 if (ti_id_not_found) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
675 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
676 *infoByteAddr = (( *infoByteAddr & ~HDR_IDENT_MASK) | IDENT_ABORT); /* mark as bad */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
677 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
678 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
679 #endif /* ifdef _TOOLS_ */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
680 cMasked = (c & HDR_IDENT_MASK); | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
681 if (((cMasked == IDENT_PS_PRIM) || (cMasked == IDENT_SYS_PRIM) || | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
682 (cMasked == IDENT_ABORT) || (cMasked == IDENT_TRACE)) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
683 && | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
684 ((c != PROT_PRIM_ID) && (c != PROT_PRIM_ID_32BIT) && | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
685 (c != SYS_PRIM_ID) && (c != TRACE_ID)) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
686 ) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
687 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
688 /* Hey fine, everything went OK! */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
689 TR_Data.rcv_state = WAIT_FOR_LENGTH1; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
690 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
691 else | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
692 { /* we have to fake a length for abort trace */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
693 tst_trailer_size.part[0] = TST_HEADER_LEADING_FIELDS; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
694 tst_trailer_size.part[1] = 0; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
695 MessageLength = tst_trailer_size.val + TST_HEADER_TRAILING_FIELDS; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
696 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
697 *infoByteAddr = (( *infoByteAddr & ~HDR_IDENT_MASK) | IDENT_ABORT); /* mark as bad */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
698 counter = tst_trailer_size.val; /* don't let us read all the following bytes before let TIF tracing ABORT */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
699 TR_Data.rcv_state = WAIT_FOR_DATA; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
700 tr_abort = 1; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
701 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
702 TR_RdInd = TR_WorkInd - 1; /* skip all preceeding interface sync bytes before triggering TIF */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
703 break; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
704 case WAIT_FOR_LENGTH1: | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
705 /* the use of the union does rely on identical byte sex! */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
706 #ifdef _SOLARIS_ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
707 /* temporary hack */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
708 tst_trailer_size.part[1] = c; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
709 #else | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
710 tst_trailer_size.part[0] = c; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
711 #endif | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
712 TR_Data.rcv_state = WAIT_FOR_LENGTH2; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
713 break; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
714 case WAIT_FOR_LENGTH2: | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
715 #ifdef _SOLARIS_ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
716 /* temporary hack */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
717 tst_trailer_size.part[0] = c; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
718 #else | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
719 tst_trailer_size.part[1] = c; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
720 #endif | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
721 /* Bytes after size + bytes till size (inclusive) */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
722 MessageLength = tst_trailer_size.val + TST_HEADER_LEADING_FIELDS; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
723 #ifdef _TOOLS_ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
724 /* In case of a lost character the two length information elements mismatch. */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
725 if ( (ti_len != 0) && (tst_trailer_size.val != (ti_len - 3)) ) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
726 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
727 tst_trailer_size.val = ti_len - 3; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
728 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
729 ti_len = 0; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
730 if ((tst_trailer_size.val - TST_HEADER_TRAILING_FIELDS) > (unsigned short int)(MAX_PRIM_PARTITION_SIZE - sizeof(T_PRIM_HEADER) - sizeof(T_S_HEADER))) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
731 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
732 *infoByteAddr = (( *infoByteAddr & ~HDR_IDENT_MASK) | IDENT_ABORT); /* mark as bad */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
733 tst_trailer_size.val = (MAX_PRIM_PARTITION_SIZE - sizeof(T_PRIM_HEADER) - sizeof(T_S_HEADER) -TST_HEADER_TRAILING_FIELDS); | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
734 counter = tst_trailer_size.val; /* don't let us read all the following bytes before let TIF tracing ABORT */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
735 tr_abort = 1; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
736 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
737 #else | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
738 if ((tst_trailer_size.val - TST_HEADER_TRAILING_FIELDS) > (unsigned short int)(MaxPrimPartSize - sizeof(T_PRIM_HEADER) - sizeof(T_S_HEADER))) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
739 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
740 *infoByteAddr = (( *infoByteAddr & ~HDR_IDENT_MASK) | IDENT_ABORT); /* mark as bad */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
741 tst_trailer_size.val = (USHORT)(MaxPrimPartSize - sizeof(T_PRIM_HEADER) - sizeof(T_S_HEADER) -TST_HEADER_TRAILING_FIELDS); | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
742 counter = tst_trailer_size.val; /* don't let us read all the following bytes before let TIF tracing ABORT */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
743 tr_abort = 1; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
744 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
745 #endif | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
746 TR_Data.rcv_state = WAIT_FOR_DATA; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
747 counter = 0; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
748 break; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
749 case WAIT_FOR_RAW_TI_E: | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
750 if ( mux_status == WAIT_FOR_MUX_END_STX ) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
751 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
752 if ( stuffed_byte ) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
753 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
754 stuffed_byte = 0; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
755 tst_mux_chan_struct[mux_chan].rcv_data_size++; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
756 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
757 else | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
758 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
759 if ( c != TI_STX ) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
760 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
761 if ( c == 0x10 ) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
762 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
763 stuffed_byte = 1; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
764 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
765 tst_mux_chan_struct[mux_chan].rcv_data_size++; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
766 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
767 else | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
768 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
769 tst_mux_callback (mux_chan,tst_mux_chan_struct[mux_chan].rcv_data_ptr, tst_mux_chan_struct[mux_chan].rcv_data_size); | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
770 mux_status = WAIT_FOR_MUX_CHAN_ID; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
771 MessageLength = tst_mux_chan_struct[mux_chan].rcv_data_size; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
772 TR_Data.rcv_state = WAIT_FOR_RAW_TI_S; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
773 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
774 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
775 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
776 #ifdef _TOOLS_ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
777 if (c!=TI_STX) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
778 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
779 if ( counter == 0 && c == 0x0a ) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
780 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
781 lf_found = 1; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
782 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
783 if ( lf_found && counter == 1 && c == 0x0d) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
784 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
785 crlf_found = 1; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
786 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
787 counter++; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
788 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
789 else | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
790 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
791 if ( TR_Data.EnabledSignalType & DRV_SIGTYPE_READ ) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
792 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
793 ti_len=counter; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
794 if ( crlf_found == 1 ) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
795 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
796 ti_len -= 2; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
797 TR_RdInd += 2; /* do not read CR and LF at the beginning */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
798 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
799 MessageLength = ti_len; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
800 TR_Signal.SignalType = sigtype; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
801 TR_Signal.DrvHandle = TR_Data.Handle; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
802 (TR_Data.Callback)( &TR_Signal ); | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
803 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
804 TR_Data.rcv_state = TR_Data.idle_state; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
805 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
806 #endif | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
807 break; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
808 case WAIT_FOR_DATA: | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
809 #ifdef _TOOLS_ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
810 if ( ti_len ) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
811 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
812 if ( counter == 0 && c == 0x0a ) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
813 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
814 lf_found = 1; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
815 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
816 if ( lf_found && counter == 1 && c == 0x0d) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
817 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
818 crlf_found = 1; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
819 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
820 if ( ++counter >= ti_len ) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
821 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
822 if ( TR_Data.EnabledSignalType & DRV_SIGTYPE_READ ) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
823 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
824 if ( crlf_found == 1 ) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
825 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
826 ti_len -= 2; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
827 TR_RdInd += 2; /* do not read CR and LF at the beginning */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
828 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
829 MessageLength = ti_len; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
830 TR_Signal.SignalType = sigtype; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
831 TR_Signal.DrvHandle = TR_Data.Handle; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
832 (TR_Data.Callback)( &TR_Signal ); | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
833 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
834 TR_Data.rcv_state = TR_Data.idle_state; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
835 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
836 break; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
837 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
838 #endif | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
839 if (++counter >= tst_trailer_size.val) /* If all went OK up to now we have to read all remaining bytes from the buffer each for each */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
840 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
841 if (TR_Data.config & STX_LF_MODE ) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
842 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
843 TR_Data.rcv_state = WAIT_FOR_CR; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
844 break; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
845 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
846 else | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
847 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
848 if ( TR_Data.EnabledSignalType & DRV_SIGTYPE_READ ) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
849 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
850 #ifdef _TOOLS_ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
851 tst_message_received = 1; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
852 #endif | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
853 TR_Signal.SignalType = DRV_SIGTYPE_READ; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
854 TR_Signal.DrvHandle = TR_Data.Handle; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
855 (TR_Data.Callback)( &TR_Signal ); | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
856 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
857 TR_Data.rcv_state = TR_Data.idle_state; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
858 tst_trailer_size.val = 0; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
859 if ( tr_abort == 1 ) /* marked as bad */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
860 tr_abort_discard = 1; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
861 #ifdef _TOOLS_ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
862 ti_id_not_found = 0; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
863 #endif | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
864 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
865 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
866 break; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
867 case WAIT_FOR_CR: | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
868 #ifdef _TOOLS_ /* check for lost bytes on interface */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
869 if (TR_Data.config & STX_LF_MODE ) /* we are receiving from a arm 9 TARGET or Windows stack configured stx */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
870 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
871 if (c != '\n') | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
872 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
873 *infoByteAddr = (( *infoByteAddr & ~HDR_IDENT_MASK) | IDENT_ABORT); /* mark as bad */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
874 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
875 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
876 #endif /* _TOOLS_ check for lost bytes on interface */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
877 if ( TR_Data.EnabledSignalType & DRV_SIGTYPE_READ ) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
878 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
879 #ifdef _TOOLS_ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
880 tst_message_received = 1; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
881 #endif | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
882 TR_Signal.SignalType = DRV_SIGTYPE_READ; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
883 TR_Signal.DrvHandle = TR_Data.Handle; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
884 (TR_Data.Callback)( &TR_Signal ); | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
885 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
886 TR_Data.rcv_state = TR_Data.idle_state; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
887 tst_trailer_size.val = 0; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
888 if ( tr_abort == 1 ) /* marked as bad */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
889 tr_abort_discard = 1; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
890 break; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
891 default: | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
892 break; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
893 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
894 } /* while (i++ < Bytes) */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
895 } /* if Bytes loop */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
896 } while ( continue_read == 1 ); | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
897 break; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
898 case DRV_SIGTYPE_CONNECT: | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
899 case DRV_SIGTYPE_DISCONNECT: | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
900 if ( TR_Data.EnabledSignalType & Signal->SignalType ) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
901 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
902 TR_Signal.SignalType = Signal->SignalType; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
903 TR_Signal.DrvHandle = TR_Data.Handle; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
904 (TR_Data.Callback)( &TR_Signal ); | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
905 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
906 break; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
907 default: | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
908 break; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
909 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
910 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
911 #endif | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
912 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
913 #ifndef RUN_INT_RAM | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
914 /* | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
915 +--------------------------------------------------------------------+ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
916 | PROJECT : GSM-Frame (8415) MODULE : TR | | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
917 | STATE : code ROUTINE : TR_Init | | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
918 +--------------------------------------------------------------------+ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
919 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
920 PURPOSE : initialize driver | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
921 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
922 */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
923 USHORT TR_Init ( USHORT DrvHandle, T_DRV_CB_FUNC CallbackFunc, T_DRV_EXPORT const **DrvInfo ) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
924 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
925 USHORT j; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
926 ULONG size = 0; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
927 static const T_DRV_EXPORT TR_Info = | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
928 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
929 "TR", | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
930 0, | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
931 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
932 #ifdef _TOOLS_ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
933 TR_Init, | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
934 #endif | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
935 TR_Exit, | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
936 TR_Read, | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
937 TR_Write, | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
938 NULL, | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
939 NULL, | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
940 NULL, | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
941 TR_SetSignal, | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
942 TR_ResetSignal, | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
943 TR_SetConfig, | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
944 NULL, | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
945 TR_Callback, | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
946 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
947 }; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
948 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
949 TR_Data.Handle = DrvHandle; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
950 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
951 TR_Data.EnabledSignalType = 0; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
952 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
953 TR_Data.config = 0; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
954 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
955 TR_Data.rcv_state = WAIT_FOR_IDENT; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
956 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
957 TR_Data.idle_state = WAIT_FOR_IDENT; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
958 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
959 TR_Data.Callback = CallbackFunc; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
960 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
961 *DrvInfo = &TR_Info; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
962 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
963 /* | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
964 * TR_RcvBufferSize must be a power of 2 for proper wrap-around | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
965 */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
966 #ifndef _TOOLS_ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
967 TR_RcvBufferSize = MaxPrimPartSize; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
968 #endif | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
969 j = 0; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
970 do | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
971 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
972 if ( (ULONG)(1 << j) >= TR_RcvBufferSize ) /* Size must be a power of 2 */ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
973 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
974 size = 1 << j; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
975 break; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
976 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
977 else | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
978 j++; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
979 } while ( size < 0xffff ); | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
980 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
981 TR_RcvBufferSize = size; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
982 TR_MaxInd = TR_RcvBufferSize - 1; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
983 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
984 if ( os_AllocateMemory ( NO_TASK, &TR_Data.RcvBuffer, (ULONG)TR_RcvBufferSize, | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
985 OS_NO_SUSPEND, ext_data_pool_handle ) != OS_OK ) | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
986 { | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
987 vsi_o_assert ( NO_TASK, OS_SYST_ERR_NO_MEMORY, __FILE__, __LINE__, | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
988 "No memory available in TR driver, TR_RcvBufferSize = %d", | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
989 TR_RcvBufferSize ); | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
990 return DRV_INITFAILURE; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
991 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
992 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
993 TR_RcvBuffer = (char*)TR_Data.RcvBuffer; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
994 TR_EndInd = TR_RcvBufferSize; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
995 TR_WrInd = 0; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
996 TR_RdInd = 0; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
997 tst_trailer_size.val = 0; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
998 #ifdef _TOOLS_ | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
999 ti_id_not_found = 0; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1000 ti_esc_skipped = 0; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1001 #endif | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1002 | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1003 return DRV_OK; | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1004 } | 
| 
 
cd37d228dae0
src/gpf2/{misc,tst}: import from TCS211 semi-src
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1005 #endif | 
