view src/g23m-fad/l2r/tra_dnp.c @ 206:dc9ce599f7e7
wake up display to full brightness on all info dialogs
author
Mychaela Falconia <falcon@freecalypso.org>
date
Tue, 06 Apr 2021 01:38:29 +0000 (2021-04-06)
parents
fa8dc04885d8
children
line source
+ − /*
+ − +-----------------------------------------------------------------------------
+ − | Project : CSD (8411)
+ − | Modul : tra_dnp.c
+ − +-----------------------------------------------------------------------------
+ − | 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 : This Modul defines the functions for processing
+ − | of incomming primitives for the component TRA
+ − +-----------------------------------------------------------------------------
+ − */
+ −
+ − #ifndef TRA_DNP_C
+ − #define TRA_DNP_C
+ − #endif
+ −
+ − #define ENTITY_L2R
+ −
+ − /*==== INCLUDES ===================================================*/
+ −
+ − #include <string.h>
+ −
+ − #include "typedefs.h"
+ − #include "pconst.cdg"
+ − #include "vsi.h"
+ − #include "macdef.h"
+ − #include "custom.h"
+ − #include "gsm.h"
+ − #include "prim.h"
+ − #include "pei.h"
+ − #include "tok.h"
+ − #include "dti.h"
+ −
+ − #include "cl_ribu.h"
+ − #include "tra_pei.h"
+ − #include "tra.h"
+ −
+ − /*==== CONST =======================================================*/
+ −
+ − /*==== TYPES =======================================================*/
+ −
+ − /*==== VAR EXPORT ==================================================*/
+ −
+ − /*==== VAR LOCAL ===================================================*/
+ −
+ − /*==== FUNCTIONS ===================================================*/
+ −
+ − /*
+ − +------------------------------------------------------------------------------
+ − | Function : sig_dti_tra_dn_tx_buffer_ready_ind
+ − +------------------------------------------------------------------------------
+ − | Description : Process signal DTI_REASON_TX_BUFFER_READY received from
+ − | dti library callback function.
+ − |
+ − | Parameters : -
+ − |
+ − | Return : -
+ − +------------------------------------------------------------------------------
+ − */
+ − GLOBAL void sig_dti_tra_dn_tx_buffer_ready_ind()
+ − {
+ − TRACE_FUNCTION ("sig_dti_tra_dn_tx_buffer_ready_ind()");
+ −
+ − if (tra_data->dn.Brk_dti_data_ind NEQ NULL)
+ − {
+ − /*
+ − * if there is a pending break indication to be sent via DTI,
+ − * send it now
+ − */
+ − sig_any_tra_dn_send_break_req();
+ − return;
+ − }
+ −
+ − switch (GET_STATE (DN))
+ − {
+ − case DN_IDLE:
+ − {
+ − SET_STATE (DN, DN_WAIT);
+ − break;
+ − }
+ − case DN_SEND:
+ − {
+ − if (dl_send_data_ind())
+ − {
+ − SET_STATE (DN, DN_IDLE);
+ − }
+ − break;
+ − }
+ − }
+ − }
+ −
+ − /*
+ − +------------------------------------------------------------------------------
+ − | Function : sig_dti_tra_dn_tx_buffer_full_ind
+ − +------------------------------------------------------------------------------
+ − | Description : Process signal DTI_REASON_TX_BUFFER_FULL received from
+ − | dti library callback function.
+ − |
+ − | Parameters : -
+ − |
+ − | Return : -
+ − +------------------------------------------------------------------------------
+ −
+ − The buffer function of DTILIB is not used.
+ − So there is nothing to be done here yet...
+ −
+ − */
+ −
+ − GLOBAL void sig_dti_tra_dn_tx_buffer_full_ind()
+ − {
+ − TRACE_FUNCTION ("sig_dti_tra_dn_tx_buffer_full_ind()");
+ − }
+ −
+ −
+ − /*
+ − +------------------------------------------------------------------------------
+ − | Function : rcv_ra_data_ind
+ − +------------------------------------------------------------------------------
+ − | Description : Process primitive RA_DATA_IND received from RA.
+ − | This function is called if the primitive RA_DATA_IND is
+ − | received or from the signal processing in l2r_pei (tra).
+ − |
+ − | Parameters : ra_data_ind -
+ − |
+ − |
+ − | Return : -
+ − +------------------------------------------------------------------------------
+ − */
+ −
+ − GLOBAL void rcv_ra_data_ind(T_RA_DATA_IND *ra_data_ind)
+ − {
+ − T_TRA_DN *ddl = &tra_data->dn;
+ − T_FD *pFD = NULL;
+ −
+ − TRACE_FUNCTION("rcv_ra_data_ind()");
+ −
+ − if (GET_STATE (MGT) NEQ MGT_IDLE)
+ − {
+ − TRACE_EVENT ("data rcvd while not in state MGT_IDLE");
+ −
+ − while (cl_ribu_data_avail(ddl->ribu))
+ − {
+ − cl_ribu_get(ddl->ribu);
+ − }
+ −
+ − #ifdef _SIMULATION_
+ − PFREE (ra_data_ind);
+ − #endif
+ − return;
+ − }
+ −
+ − #ifdef _SIMULATION_
+ − PACCESS (ra_data_ind);
+ − if (ra_data_ind->sdu.l_buf)
+ − {
+ − pFD = tra_get_next_FrameDesc();
+ − TRACE_EVENT_P2("put - wi=%d - ri=%d", ddl->ribu->idx.wi, ddl->ribu->idx.ri);
+ − memcpy(pFD->buf, ra_data_ind->sdu.buf, ra_data_ind->sdu.l_buf >> 3);
+ − pFD->len = ra_data_ind->sdu.l_buf >> 3;
+ − }
+ − #endif
+ −
+ − ddl->sa = 0;
+ − ddl->sb = 0;
+ − ddl->x = 0;
+ −
+ − if (ra_data_ind->status & ST_SA)
+ − ddl->sa = DTI_SA_OFF;
+ − if (ra_data_ind->status & ST_SB)
+ − ddl->sb = DTI_SB_OFF;
+ − if (ra_data_ind->status & ST_X)
+ − ddl->x = DTI_FLOW_OFF;
+ −
+ − if (ddl->ribu->idx.filled > 1)
+ − TRACE_EVENT_P3("RIBU ddl: filled=%d; wi=%d; ri=%d", ddl->ribu->idx.filled, ddl->ribu->idx.wi, ddl->ribu->idx.ri);
+ −
+ − while (cl_ribu_data_avail(ddl->ribu))
+ − {
+ − pFD = cl_ribu_get(ddl->ribu);
+ − dl_prep_data_ind(pFD);
+ − }
+ −
+ − switch (GET_STATE (DN))
+ − {
+ − case DN_SEND:
+ − break;
+ −
+ − case DN_IDLE:
+ − if (pFD NEQ NULL)
+ − {
+ − SET_STATE (DN, DN_SEND);
+ − }
+ − break;
+ −
+ − case DN_WAIT:
+ − if (dl_send_data_ind())
+ − {
+ − SET_STATE (DN, DN_IDLE);
+ − }
+ − break;
+ −
+ − default:
+ − break;
+ − }
+ − #ifdef _SIMULATION_
+ − PFREE (ra_data_ind);
+ − #endif
+ − }