FreeCalypso > hg > freecalypso-sw
diff gsm-fw/g23m-aci/aci/psa_uart.h @ 775:eedbf248bac0
gsm-fw/g23m-aci subtree: initial import from LoCosto source
author | Michael Spacefalcon <msokolov@ivan.Harhan.ORG> |
---|---|
date | Sun, 12 Oct 2014 01:45:14 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gsm-fw/g23m-aci/aci/psa_uart.h Sun Oct 12 01:45:14 2014 +0000 @@ -0,0 +1,165 @@ +/* ++----------------------------------------------------------------------------- +| Project : GSM-PS (6147) +| Modul : PSA_UART ++----------------------------------------------------------------------------- +| Copyright 2002 Texas Instruments Berlin, AG +| All rights reserved. +| +| This file is confidential and a trade secret of Texas +| Instruments Berlin, AG +| The receipt of or possession of this file does not convey +| any rights to reproduce or disclose its contents or to +| manufacture, use, or sell anything it may describe, in +| whole, or in part, without the specific written consent of +| Texas Instruments Berlin, AG. ++----------------------------------------------------------------------------- +| Purpose : Definitions for the protocol stack adapter +| Data Transmission Interface ( DTI ) ++----------------------------------------------------------------------------- +*/ + +#ifndef PSA_UART_H +#define PSA_UART_H + + +/*==== CONSTANTS ==================================================*/ + +#define UART_DTI_FLOW_OFF 1 +#define UART_DTI_SB_BIT 2 +#define UART_DTI_SA_BIT 4 +#define UART_RING_RUNNING 8 + +/*==== TYPES ======================================================*/ + +typedef enum +{ + NOT_INITIALIZED = -1, + READY_REC, /* ACI is ready to receive datas from DTI */ + RECEIVING, /* ACI is currently receiving a command line */ + PROCESSING /* command line is to be processed - no receiving from DTI */ +} +T_ACI_DTI_REC_STATE; + +typedef enum +{ + LINE_CONNECTING = 0, /* only during initializing */ + LINE_CONNECTED, /* enabling communication through DTI */ + LINE_DISCONNECTED, /* during change uart to mux uart */ + LINE_TMP_CONNECTED, + LINE_TMP_DISCONNECTED, /* temporary disconnected */ + LINE_TMP_DISCONNECTING /* temporary disconnecting */ +} +T_ACI_DTI_LINE_STATE; + +typedef enum +{ + DTR_BEHAVIOUR_NotPresent = -1, + DTR_BEHAVIOUR_Ignore, + DTR_BEHAVIOUR_CommandMode, + DTR_BEHAVIOUR_ClearCall +} +T_ACI_DTR_BEHAVIOUR; + +typedef enum { + DEVICE_TYPE_UNKNOWN = -1, + DEVICE_TYPE_URT, + DEVICE_TYPE_MUX, + DEVICE_TYPE_BT, + DEVICE_TYPE_OTHER +} T_ACI_DEVICE_TYPE; + +typedef struct +{ + T_ACI_DTR_BEHAVIOUR dtr_behaviour; + BOOL dtr_clearcall; + BOOL reconnect_to_aci; + UBYTE escape_seq; +} +T_UART_SHRD_PRM; + + +typedef struct +{ + UBYTE mode; + UBYTE subset; + UBYTE port_speed; + USHORT N1; + UBYTE T1; + UBYTE N2; + UBYTE T2; + UBYTE T3; + +} T_ACI_UART_MUX_PARMS; + +#define MAX_DATA_BUFFER_LIFE_TIME 30000 /* 30 sec live time */ +/* buffer for data buffer, if not possible to send data via DTI */ +typedef struct +{ + T_desc2 *data_list; /* list of data buffers */ + USHORT max_buffer_size; /* size of the current buffer */ + T_TIME create_time; +} T_ACI_DTI_DATA_BUF; + +typedef struct +{ + UBYTE device; + UBYTE dlci; + UBYTE srcId; /* = c_id */ + T_ACI_DTI_REC_STATE RecState; + T_ACI_DTI_LINE_STATE LineState; + BOOL run_cmd; + BOOL first_output; + BYTE data_cntr; /* DTI line flags (eg. SB-BIT) */ + T_ACI_UART_MUX_PARMS *MuxParms; + BOOL large_type; /* is it a large output ? */ + T_ACI_DTI_DATA_BUF data_buffer; + T_ACI_DEVICE_TYPE device_type; +} T_ACI_DTI_PRC; + + +/*==== PROTOTYPES =================================================*/ + +EXTERN void psaUART_DCDreq ( UBYTE c_Id, UBYTE line_state ); +EXTERN void psaUART_ESCAPEreq ( UBYTE c_Id, UBYTE line_state ); +EXTERN void psaUART_RINGreq ( UBYTE c_Id, UBYTE line_state ); + +#ifdef DTI +EXTERN BOOL atiUART_dti_cb ( UBYTE dti_id, T_DTI_CONN_STATE result_type ); +EXTERN void psaDTI_getdata ( UBYTE srcId, T_DTI_ENTITY_ID peer_id ); +EXTERN void psaUART_SetDTIReq( T_DTI_CONN_LINK_ID link_id, T_DTI_ENTITY_ID conn_peer_Id ); +EXTERN void psaDTI_data_req ( + T_desc2 *data, + T_ACI_DTI_PRC *src_infos, + T_DTI_ENTITY_ID peer_id + ); +#endif /* DTI */ +EXTERN void psaUART_StartMux ( UBYTE device, + UBYTE mode, + UBYTE frame_type, + USHORT N1, + UBYTE T1, + UBYTE N2, + UBYTE T2, + UBYTE T3 ); +EXTERN void psaUART_MuxRes ( UBYTE device, + UBYTE dlci, + USHORT N1 ); + +EXTERN void psaUART_SetParameters( UBYTE device, + T_comPar *comPar ); + + +#ifdef PSA_UARTP_C + +GLOBAL T_UART_SHRD_PRM uartShrdPrm; +#else + +EXTERN T_UART_SHRD_PRM uartShrdPrm; +#endif /* PSA_UARTP_C */ + +/*==== EXPORT =====================================================*/ + +#endif /* PSA_UART_H */ + +/*==== EOF =======================================================*/