FreeCalypso > hg > fc-magnetite
annotate src/g23m-aci/gdd_dio/gdd_dio_drxf.c @ 265:0aa748b6413a
src/cs/system/Main/init.c: initial import from LoCosto source
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Sat, 05 Aug 2017 02:02:16 +0000 | 
| parents | 53929b40109c | 
| children | 
| rev | line source | 
|---|---|
| 
162
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
1 /* | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
2 +----------------------------------------------------------------------------- | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
3 | File : gdd_dio_drxf.c | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
4 +----------------------------------------------------------------------------- | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
5 | Copyright 2002 Texas Instruments Berlin, AG | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
6 | All rights reserved. | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
7 | | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
8 | This file is confidential and a trade secret of Texas | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
9 | Instruments Berlin, AG | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
10 | The receipt of or possession of this file does not convey | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
11 | any rights to reproduce or disclose its contents or to | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
12 | manufacture, use, or sell anything it may describe, in | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
13 | whole, or in part, without the specific written consent of | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
14 | Texas Instruments Berlin, AG. | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
15 +----------------------------------------------------------------------------- | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
16 | Purpose : This modul is part of the entity gdd_dio and implements the | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
17 | drx service functions. | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
18 +----------------------------------------------------------------------------- | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
19 */ | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
20 | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
21 | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
22 #define ENTITY_GDD_DIO | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
23 | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
24 /*==== INCLUDES =============================================================*/ | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
25 | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
26 #include "typedefs.h" /* to get Condat data types */ | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
27 #include "vsi.h" /* to get a lot of macros */ | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
28 | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
29 /* GDD stuff */ | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
30 #include "gdd_dio.h" /* to get the global entity definitions */ | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
31 #include "gdd_dio_data.h" /* to get internal data structures */ | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
32 | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
33 #include "gdd_dio_con_mgr.h" | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
34 #include "gdd_dio_queue.h" | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
35 #include "gdd_dio_drxf.h" | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
36 #include "gdd_dio_txf.h" | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
37 | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
38 | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
39 /*==== CONST ================================================================*/ | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
40 | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
41 /*==== LOCAL VARS ===========================================================*/ | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
42 | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
43 /*==== PRIVATE FUNCTIONS ====================================================*/ | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
44 | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
45 /*==== PUBLIC FUNCTIONS =====================================================*/ | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
46 | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
47 | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
48 GLOBAL void gdd_dio_drx_sig_receive_data(T_GDD_CON_HANDLE con_handle, T_dio_buffer * buf) | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
49 { | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
50 T_GDD_DIO_CON_DATA * con_data; | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
51 GDD_RESULT result; | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
52 | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
53 TRACE_FUNCTION("[GDD] gdd_dio_drx_sig_receive_data()"); | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
54 | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
55 con_data = get_con_data_from_handle(con_handle); | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
56 | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
57 result = con_data->rcv_cb(con_handle, (T_GDD_BUF *)buf); | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
58 if(result EQ GDD_OK) | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
59 { | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
60 gdd_dio_send_signal_to_dio(con_data, DRV_SIGTYPE_WRITE); | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
61 } | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
62 else | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
63 { | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
64 /* Do nothing - the client must come back to use by calling | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
65 gdd_signal_ready_rcv. */ | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
66 } | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
67 } | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
68 | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
69 GLOBAL void gdd_dio_drx_ready_to_rcv(T_GDD_CON_HANDLE con_handle) | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
70 { | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
71 T_GDD_DIO_CON_DATA * con_data; | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
72 T_dio_buffer * buf; | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
73 GDD_RESULT result; | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
74 | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
75 TRACE_FUNCTION("[GDD] gdd_dio_drx_ready_to_rcv()"); | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
76 | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
77 con_data = get_con_data_from_handle(con_handle); | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
78 | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
79 if(gdd_dio_queue_peek_next_for_dequeue(&(con_data->tx_queue), &buf)) | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
80 { | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
81 /* Send data to client */ | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
82 result = con_data->rcv_cb(con_handle, (T_GDD_BUF *)buf); | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
83 if(result EQ GDD_OK) | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
84 { | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
85 gdd_dio_send_signal_to_dio(con_data, DRV_SIGTYPE_WRITE); | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
86 } | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
87 else | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
88 { | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
89 /* Do nothing - the client must come back again later by calling | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
90 gdd_signal_ready_rcv. */ | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
91 } | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
92 } | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
93 else | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
94 { | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
95 TRACE_ERROR("[GDD] Failed to peek buffer"); | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
96 } | 
| 
 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 
Mychaela Falconia <falcon@freecalypso.org> 
parents:  
diff
changeset
 | 
97 } | 
