⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 em.h

📁 GSM手机设计软件代码
💻 H
📖 第 1 页 / 共 2 页
字号:
/* 
+----------------------------------------------------------------------------- 
|  Project :  GSM (6301)
|  Modul   :  
+----------------------------------------------------------------------------- 
|  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 :  Types definitions for the engineering mode driver
|             .
+----------------------------------------------------------------------------- 
*/ 

#ifndef EM_H
#define EM_H


/*
 * Return Values
 */
#define EM_INVALID_CLASS           10
#define EM_INVALID_SUBCLASS        11
#define EM_INVALID_TYPE            12
#define EM_INVALID_ACCESS          13
#define EM_NO_MORE_DATA            14
#define EM_DATA_NOT_AVAIL          15

#define MAX_EM_LENGTH              80

/*
 * Data Types
 */
typedef struct
{
  UBYTE em_class;
  UBYTE em_subclass;
  UBYTE em_type;
  UBYTE em_length;
  UBYTE em_parameter [MAX_EM_LENGTH];
} em_data_type;

/*
 * EM classes
 */

#define EM_CLASS_EVENT_TRACE        1
#define EM_CLASS_COUNTER            2
#define EM_CLASS_INFRA_DATA         3
#define EM_CLASS_MS_DATA            4

/*
 * EM Subclasses Event Tracing / Counter
 */
#define EM_SUBCLASS_LAYER_1         1
#define EM_SUBCLASS_DL              2
#define EM_SUBCLASS_RR              3
#define EM_SUBCLASS_MM              4
#define EM_SUBCLASS_CC              5
#define EM_SUBCLASS_SS              6
#define EM_SUBCLASS_SMS             7
#define EM_SUBCLASS_SIM             8


/*
 * EM Subclasses Infrastructure data
 */
#define EM_SUBCLASS_SC_INFO         9
#define EM_SUBCLASS_NC_INFO         10
#define EM_SUBCLASS_LUP_AND_PAG     12
#define EM_SUBCLASS_PLMN_PARA       13
#define EM_SUBCLASS_CIPH_HOP_DTX    14
 
/*
 * EM Subclasses Mobile Data   
 */
#define EM_SUBCLASS_POWER           15
#define EM_SUBCLASS_IDENTITY        16
#define EM_SUBCLASS_VERSION         17

/*
 * EM types
 */

typedef struct
{
  USHORT            arfcn;               /* channel number              */
  SHORT             c1;                  /* C1 Path Loss Criterion      */
  SHORT             c2;                  /* C2 Reselection Criterion    */
  UBYTE             rxlev;               /* fieldstrength               */
  UBYTE             bsic;                /* BSIC                        */
  UBYTE             mcc[3];              /* Mobile Country Code         */
  UBYTE             mnc[3];              /* Mobile Network Code         */
  USHORT            lac;                 /* Location Area Code          */
  USHORT            cell_id;             /* cell identifier             */
  UBYTE             cba;                 /* Cell barred access          */
  UBYTE             cbq;                 /* Cell barred qualify         */
  UBYTE             til_state;           /* State of cell in TIL/ALR    */
  UBYTE             sync_cnt;            /* Pending L1 cells sync       */
  UBYTE             bcch_cnt;            /* Pending L1 cells bcch read  */
  UBYTE             rxlev_f;             /* RSSI full in dedicated mode */
  UBYTE             rxlev_s;             /* RSSI sub in dedicated mode  */
  UBYTE             rxqual_f;            /* Qual full in dedicated mode */
  UBYTE             rxqual_s;            /* Qual sub in dedicated mode  */
} T_EM_NC_DATA;


/*
 * internal prototypes for em driver
 */
EXTERN void    em_trace_single (UBYTE class, UBYTE subclass, UBYTE type);
EXTERN void    em_trace_ubyte  (UBYTE class, UBYTE subclass, UBYTE type, UBYTE value);
EXTERN void    em_trace_ushort (UBYTE class, UBYTE subclass, UBYTE type, USHORT value);
EXTERN void    em_trace_array  (UBYTE class, UBYTE subclass, UBYTE type, UBYTE * value, UBYTE len);

EXTERN UBYTE * em_get_sys_info (UBYTE sys_info_type);
EXTERN UBYTE   em_get_nc_data  (T_EM_NC_DATA * em_nc_data, UBYTE index);
EXTERN UBYTE   em_get_network_meas (UBYTE * chan_list);
EXTERN UBYTE   em_get_bcch_chan_list (em_data_type * out_em_data);
/*
 * Access Functions
 */
#if defined (EM_TRACE)

#define EM_EV_L1_TRACE(a)           em_trace_single(EM_CLASS_EVENT_TRACE,EM_SUBCLASS_LAYER_1,a);
#define EM_EV_L1_TRACE_UBYTE(a,b)   em_trace_ubyte(EM_CLASS_EVENT_TRACE,EM_SUBCLASS_LAYER_1,a,b);
#define EM_EV_L1_TRACE_USHORT(a,b)  em_trace_ushort(EM_CLASS_EVENT_TRACE,EM_SUBCLASS_LAYER_1,a,b);
#define EM_EV_L1_TRACE_ARRAY(a,b,c) em_trace_array(EM_CLASS_EVENT_TRACE,EM_SUBCLASS_LAYER_1,a,b,c);

#define EM_EV_DL_TRACE(a)           em_trace_single(EM_CLASS_EVENT_TRACE,EM_SUBCLASS_DL,a);
#define EM_EV_DL_TRACE_UBYTE(a,b)   em_trace_ubyte(EM_CLASS_EVENT_TRACE,EM_SUBCLASS_DL,a,b);
#define EM_EV_DL_TRACE_USHORT(a,b)  em_trace_ushort(EM_CLASS_EVENT_TRACE,EM_SUBCLASS_DL,a,b);
#define EM_EV_DL_TRACE_ARRAY(a,b,c) em_trace_array(EM_CLASS_EVENT_TRACE,EM_SUBCLASS_DL,a,b,c);

#define EM_EV_RR_TRACE(a)           em_trace_single(EM_CLASS_EVENT_TRACE,EM_SUBCLASS_RR,a);
#define EM_EV_RR_TRACE_UBYTE(a,b)   em_trace_ubyte(EM_CLASS_EVENT_TRACE,EM_SUBCLASS_RR,a,b);
#define EM_EV_RR_TRACE_USHORT(a,b)  em_trace_ushort(EM_CLASS_EVENT_TRACE,EM_SUBCLASS_RR,a,b);
#define EM_EV_RR_TRACE_ARRAY(a,b,c) em_trace_array(EM_CLASS_EVENT_TRACE,EM_SUBCLASS_RR,a,b,c);

#define EM_EV_MM_TRACE(a)           em_trace_single(EM_CLASS_EVENT_TRACE,EM_SUBCLASS_MM,a);
#define EM_EV_MM_TRACE_UBYTE(a,b)   em_trace_ubyte(EM_CLASS_EVENT_TRACE,EM_SUBCLASS_MM,a,b);
#define EM_EV_MM_TRACE_USHORT(a,b)  em_trace_ushort(EM_CLASS_EVENT_TRACE,EM_SUBCLASS_MM,a,b);
#define EM_EV_MM_TRACE_ARRAY(a,b,c) em_trace_array(EM_CLASS_EVENT_TRACE,EM_SUBCLASS_MM,a,b,c);

#else

#define EM_EV_L1_TRACE(a)         
#define EM_EV_L1_TRACE_UBYTE(a,b) 
#define EM_EV_L1_TRACE_USHORT(a,b) 
#define EM_EV_L1_TRACE_ARRAY(a,b,c)

#define EM_EV_DL_TRACE(a)         
#define EM_EV_DL_TRACE_UBYTE(a,b) 
#define EM_EV_DL_TRACE_USHORT(a,b) 
#define EM_EV_DL_TRACE_ARRAY(a,b,c)

#define EM_EV_RR_TRACE(a)         
#define EM_EV_RR_TRACE_UBYTE(a,b) 
#define EM_EV_RR_TRACE_USHORT(a,b) 
#define EM_EV_RR_TRACE_ARRAY(a,b,c)

#define EM_EV_MM_TRACE(a)         
#define EM_EV_MM_TRACE_UBYTE(a,b) 
#define EM_EV_MM_TRACE_USHORT(a,b) 
#define EM_EV_MM_TRACE_ARRAY(a,b,c)

#endif

/*
 * Event trace, layer 1
 */
#define EM_EV_L1_POWER_MEAS_REQ      1
#define EM_EV_L1_RX_MEAS_REQ         2
#define EM_EV_L1_RX_MEAS_CNF         3
#define EM_EV_L1_POWER_MEAS_CNF      4
#define EM_EV_L1_BSIC_REQ            5
#define EM_EV_L1_BSIC_AVAIL          6
#define EM_EV_L1_BSIC_NOT_AVAIL      7
#define EM_EV_L1_BCCH_READ_ERR       8
#define EM_EV_L1_CONFIG_CLASSMARK    9
#define EM_EV_L1_CONFIG_IDLE_MODE    10
#define EM_EV_L1_CONFIG_CBCH         11
#define EM_EV_L1_CONFIG_NCELL        12
#define EM_EV_L1_CHANGE_EXT_PAG      13
#define EM_EV_L1_CHANGE_REORG_PAG    14
#define EM_EV_L1_CHANGE_NORM_PAG     15
#define EM_EV_L1_CHANGE_IDLE_BCCH    16
#define EM_EV_L1_DOWNLINK_ERROR      17
#define EM_EV_L1_PAGING_DETECTED     18
#define EM_EV_L1_READ_NCELL_BSIC     19
#define EM_EV_L1_NCELL_BSIC_AVAIL    20
#define EM_EV_L1_NCELL_BSIC_NO_AVAIL 21
#define EM_EV_L1_READ_NCELL_SB       22
#define EM_EV_L1_NCELL_SB_AVAIL      23
#define EM_EV_L1_NCELL_SB_NO_AVAIL   24
#define EM_EV_L1_READ_NCELL_BCCH     25
#define EM_EV_L1_NCELL_BCCH_AVAIL    26
#define EM_EV_L1_NCELL_BCCH_NO_AVAIL 27
#define EM_EV_L1_CONFIG_CELL_RESEL   28
#define EM_EV_L1_START_CON_EST       29
#define EM_EV_L1_CONFIG_IMM_ASS      30
#define EM_EV_L1_STOP_CON_EST        31
#define EM_EV_L1_CONFIG_CHN_ASS      32
#define EM_EV_L1_CONFIG_ASYNC_HO     33
#define EM_EV_L1_CONFIG_SYNC_HO      34
#define EM_EV_L1_CONFIG_PRE_HO       35
#define EM_EV_L1_CONFIG_PSEUDO_HO    36
#define EM_EV_L1_CONFIG_FREQ_REDEF   37
#define EM_EV_L1_CONFIG_CHN_MODIFY   38
#define EM_EV_L1_CONFIG_CIPH_SET     39
#define EM_EV_L1_START_CBCH_READ     40
#define EM_EV_L1_RECEIVE_CBCH        41
#define EM_EV_L1_CBCH_MSG_COMPLETE   42
#define EM_EV_L1_STOP_CBCH_READ      43
#define EM_EV_L1_RECEIVE_NULL        44
#define EM_EV_L1_RECEIVE_SCHEDULE    45
#define EM_EV_L1_CONFIG_TCH_LOOP     46
#define EM_EV_L1_CONFIG_DAT          47
#define EM_EV_L1_DEACTIVATE          48

/*
 * Event trace, data link layer 
 */
#define EM_EV_DL_SDCCH_EST_PASSED     1
#define EM_EV_DL_SDCCH_EST_FAILED     2
#define EM_EV_DL_FACCH_EST_PASSED     3
#define EM_EV_DL_FACCH_EST_FAILED     4
#define EM_EV_DL_SDCCH_3_EST_PASSED   5
#define EM_EV_DL_SDCCH_3_EST_FAILED   6
#define EM_EV_DL_SACCH_3_EST_PASSED   7
#define EM_EV_DL_SACCH_3_EST_FAILED   8
#define EM_EV_DL_SDCCH_REL            9
#define EM_EV_DL_FACCH_REL           10
#define EM_EV_DL_SDCCH_3_REL         11
#define EM_EV_DL_FACCH_3_REL         12
#define EM_EV_DL_SDCCH_SUSPEND       13
#define EM_EV_DL_FACCH_SUSPEND       14

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -