📄 em.h
字号:
/*
+-----------------------------------------------------------------------------
| 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 + -