comparison src/g23m-aci/aci/psa_uart.h @ 1:fa8dc04885d8

src/g23m-*: import from Magnetite
author Mychaela Falconia <falcon@freecalypso.org>
date Fri, 16 Oct 2020 06:25:50 +0000
parents
children
comparison
equal deleted inserted replaced
0:4e78acac3d88 1:fa8dc04885d8
1 /*
2 +-----------------------------------------------------------------------------
3 | Project : GSM-PS (6147)
4 | Modul : PSA_UART
5 +-----------------------------------------------------------------------------
6 | Copyright 2002 Texas Instruments Berlin, AG
7 | All rights reserved.
8 |
9 | This file is confidential and a trade secret of Texas
10 | Instruments Berlin, AG
11 | The receipt of or possession of this file does not convey
12 | any rights to reproduce or disclose its contents or to
13 | manufacture, use, or sell anything it may describe, in
14 | whole, or in part, without the specific written consent of
15 | Texas Instruments Berlin, AG.
16 +-----------------------------------------------------------------------------
17 | Purpose : Definitions for the protocol stack adapter
18 | Data Transmission Interface ( DTI )
19 +-----------------------------------------------------------------------------
20 */
21
22 #ifndef PSA_UART_H
23 #define PSA_UART_H
24
25
26 /*==== CONSTANTS ==================================================*/
27
28 #define UART_DTI_FLOW_OFF 1
29 #define UART_DTI_SB_BIT 2
30 #define UART_DTI_SA_BIT 4
31 #define UART_RING_RUNNING 8
32
33 /*==== TYPES ======================================================*/
34
35 typedef enum
36 {
37 NOT_INITIALIZED = -1,
38 READY_REC, /* ACI is ready to receive datas from DTI */
39 RECEIVING, /* ACI is currently receiving a command line */
40 PROCESSING /* command line is to be processed - no receiving from DTI */
41 }
42 T_ACI_DTI_REC_STATE;
43
44 typedef enum
45 {
46 LINE_CONNECTING = 0, /* only during initializing */
47 LINE_CONNECTED, /* enabling communication through DTI */
48 LINE_DISCONNECTED, /* during change uart to mux uart */
49 LINE_TMP_CONNECTED,
50 LINE_TMP_DISCONNECTED, /* temporary disconnected */
51 LINE_TMP_DISCONNECTING /* temporary disconnecting */
52 }
53 T_ACI_DTI_LINE_STATE;
54
55 typedef enum
56 {
57 DTR_BEHAVIOUR_NotPresent = -1,
58 DTR_BEHAVIOUR_Ignore,
59 DTR_BEHAVIOUR_CommandMode,
60 DTR_BEHAVIOUR_ClearCall
61 }
62 T_ACI_DTR_BEHAVIOUR;
63
64 typedef enum {
65 DEVICE_TYPE_UNKNOWN = -1,
66 DEVICE_TYPE_URT,
67 DEVICE_TYPE_MUX,
68 DEVICE_TYPE_BT,
69 DEVICE_TYPE_OTHER
70 } T_ACI_DEVICE_TYPE;
71
72 typedef struct
73 {
74 T_ACI_DTR_BEHAVIOUR dtr_behaviour;
75 BOOL dtr_clearcall;
76 BOOL reconnect_to_aci;
77 UBYTE escape_seq;
78 }
79 T_UART_SHRD_PRM;
80
81
82 typedef struct
83 {
84 UBYTE mode;
85 UBYTE subset;
86 UBYTE port_speed;
87 USHORT N1;
88 UBYTE T1;
89 UBYTE N2;
90 UBYTE T2;
91 UBYTE T3;
92
93 } T_ACI_UART_MUX_PARMS;
94
95 #define MAX_DATA_BUFFER_LIFE_TIME 30000 /* 30 sec live time */
96 /* buffer for data buffer, if not possible to send data via DTI */
97 typedef struct
98 {
99 T_desc2 *data_list; /* list of data buffers */
100 USHORT max_buffer_size; /* size of the current buffer */
101 T_TIME create_time;
102 } T_ACI_DTI_DATA_BUF;
103
104 typedef struct
105 {
106 UBYTE device;
107 UBYTE dlci;
108 UBYTE srcId; /* = c_id */
109 T_ACI_DTI_REC_STATE RecState;
110 T_ACI_DTI_LINE_STATE LineState;
111 BOOL run_cmd;
112 BOOL first_output;
113 BYTE data_cntr; /* DTI line flags (eg. SB-BIT) */
114 T_ACI_UART_MUX_PARMS *MuxParms;
115 BOOL large_type; /* is it a large output ? */
116 T_ACI_DTI_DATA_BUF data_buffer;
117 T_ACI_DEVICE_TYPE device_type;
118 } T_ACI_DTI_PRC;
119
120
121 /*==== PROTOTYPES =================================================*/
122
123 EXTERN void psaUART_DCDreq ( UBYTE c_Id, UBYTE line_state );
124 EXTERN void psaUART_ESCAPEreq ( UBYTE c_Id, UBYTE line_state );
125 EXTERN void psaUART_RINGreq ( UBYTE c_Id, UBYTE line_state );
126
127 #ifdef DTI
128 EXTERN BOOL atiUART_dti_cb ( UBYTE dti_id, T_DTI_CONN_STATE result_type );
129 EXTERN void psaDTI_getdata ( UBYTE srcId, T_DTI_ENTITY_ID peer_id );
130 EXTERN void psaUART_SetDTIReq( T_DTI_CONN_LINK_ID link_id, T_DTI_ENTITY_ID conn_peer_Id );
131 EXTERN void psaDTI_data_req (
132 T_desc2 *data,
133 T_ACI_DTI_PRC *src_infos,
134 T_DTI_ENTITY_ID peer_id
135 );
136 #endif /* DTI */
137 EXTERN void psaUART_StartMux ( UBYTE device,
138 UBYTE mode,
139 UBYTE frame_type,
140 USHORT N1,
141 UBYTE T1,
142 UBYTE N2,
143 UBYTE T2,
144 UBYTE T3 );
145 EXTERN void psaUART_MuxRes ( UBYTE device,
146 UBYTE dlci,
147 USHORT N1 );
148
149 EXTERN void psaUART_SetParameters( UBYTE device,
150 T_comPar *comPar );
151
152
153 #ifdef PSA_UARTP_C
154
155 GLOBAL T_UART_SHRD_PRM uartShrdPrm;
156 #else
157
158 EXTERN T_UART_SHRD_PRM uartShrdPrm;
159 #endif /* PSA_UARTP_C */
160
161 /*==== EXPORT =====================================================*/
162
163 #endif /* PSA_UART_H */
164
165 /*==== EOF =======================================================*/