📄 l1tm_msgty.h
字号:
/************* Revision Controle System Header *************
* GSM Layer 1 software
* L1TM_MSGTY.H
*
* Filename l1tm_msgty.h
* Copyright 2003 (C) Texas Instruments
*
************* Revision Controle System Header *************/
/***********************************************************************/
/* TESTMODE 3.X */
/***********************************************************************/
typedef struct
{
#if (ETM_PROTOCOL == 1)
UWORD8 mid;
#endif
UWORD8 cid;
UWORD8 str_len_in_bytes;
// all primitive types should be a unique struct within
// the union u.
union
{
struct
{
WORD16 index;
UWORD16 value;
} tm_params;
struct
{
WORD8 index;
UWORD8 table[TM_PAYLOAD_DOWNLINK_SIZE_MAX];
} tm_table;
#if (L1_TPU_DEV == 1)
struct
{
WORD8 index;
WORD16 table[TM_PAYLOAD_DOWNLINK_SIZE_MAX];
} tm_table16;
#endif
struct
{
UWORD32 address;
UWORD8 table[TM_PAYLOAD_DOWNLINK_SIZE_MAX];
} mem_write;
struct
{
UWORD32 src;
UWORD32 length;
} mem_read;
struct
{
UWORD8 packet[128];
} ffs;
} u;
}
T_TESTMODE_PRIM;
typedef struct
{
UWORD32 arfcn;
UWORD32 number_of_measurements;
UWORD8 place_of_measurement;
UWORD32 num_loop;
UWORD32 agc;
}
T_TMODE_PM_REQ;
typedef struct
{
UWORD16 power_array_size;
T_POWER_ARRAY power_array[1];
}
T_TMODE_RXLEV_REQ;
typedef struct
{
UWORD32 dummy;
}
T_TMODE_FB0_REQ;
typedef struct
{
UWORD32 dummy;
}
T_TMODE_FB1_REQ;
typedef struct
{
UWORD32 dummy;
}
T_TMODE_SB_REQ;
typedef struct
{
UWORD32 dummy;
}
T_TMODE_FB_SB_REQ;
typedef struct
{
BOOL fb_flag; //TRUE if FB found, otherwise FALSE
WORD8 ntdma; //tdma between window start and beginning of FB (0..23)
UWORD8 neigh_id;
UWORD32 pm_fullres;
UWORD32 toa;
WORD16 angle;
UWORD32 snr;
}
T_TMODE_FB_CON;
typedef struct
{
UWORD16 radio_freq;
BOOL sb_flag;
UWORD32 fn_offset;
UWORD32 time_alignmt;
UWORD8 bsic;
UWORD8 neigh_id;
UWORD8 attempt;
UWORD32 pm_fullres;
UWORD32 toa;
WORD16 angle;
UWORD32 snr;
}
T_TMODE_NCELL_SYNC_IND;
typedef struct
{
UWORD32 fn_offset;
UWORD32 time_alignmt;
UWORD8 bsic;
}
T_TMODE_NEW_SCELL_REQ;
typedef struct
{
UWORD16 radio_freq;
UWORD8 l2_channel;
BOOL error_flag;
T_RADIO_FRAME l2_frame;
UWORD8 tc;
UWORD32 fn;
UWORD8 neigh_id;
}
T_TMODE_BCCHS_CON;
typedef struct
{
UWORD32 dummy;
}
T_TMODE_STOP_SCELL_BCCH_REQ;
typedef struct
{
UWORD32 dummy;
}
T_TMODE_SCELL_NBCCH_REQ;
typedef struct
{
UWORD32 fn;
UWORD8 channel_request;
}
T_TMODE_RA_DONE;
typedef struct
{
UWORD32 dummy;
}
T_TMODE_RA_START;
typedef struct
{
#if (CODE_VERSION == SIMULATION)
UWORD8 ul_dl;
#else
UWORD32 dummy;
#endif
}
T_TMODE_IMMED_ASSIGN_REQ;
typedef struct
{
UWORD8 A[22+1];
}
T_TMODE_RADIO_FRAME;
typedef struct
{
UWORD16 radio_freq;
UWORD8 l2_channel;
UWORD8 error_cause;
T_TMODE_RADIO_FRAME l2_frame;
UWORD8 bsic;
UWORD8 tc;
}
T_TMODE_SACCH_INFO;
typedef struct
{
UWORD32 pm_fullres;
UWORD32 snr;
UWORD32 toa;
WORD16 angle;
UWORD32 qual_nbr_meas_full; // Fullset: nbr meas. of rxqual.
UWORD32 qual_full; // Fullset: rxqual meas.
}
T_TMODE_TCH_INFO;
typedef struct
{
UWORD32 none;
}
T_TMODE_STOP_RX_TX;
#if L1_GPRS
typedef struct
{
#if (CODE_VERSION == SIMULATION)
UWORD8 multislot_class;
UWORD8 dl_ts_alloc;
UWORD8 ul_ts_alloc;
UWORD8 ul_alloc_length;
BOOL mon_enable;
BOOL pm_enable;
#else
UWORD32 dummy;
#endif
}
T_TMODE_PDTCH_ASSIGN_REQ;
typedef struct
{
UWORD32 pm_fullres;
UWORD32 snr;
UWORD32 toa;
WORD16 angle;
BOOL crc_error_tbl[8];
}
T_TMODE_PDTCH_INFO;
#endif
//#if ((L1_STEREOPATH == 1) && (OP_L1_STANDALONE == 1)) //Nina change for test
#if 1
typedef void (*Pointer)();
typedef struct
{
UWORD8 configuration;
UWORD8 sampling_frequency;
UWORD8 DMA_allocation;
UWORD8 DMA_channel_number;
UWORD8 data_type;
UWORD8 source_port;
UWORD16 element_number;
UWORD16 frame_number;
UWORD8 mono_stereo;
UWORD8 pattern_identifier;
Pointer pcmfillCallback;
}
T_TMODE_AUDIO_STEREOPATH_START_REQ;
#endif
/**************** ENUMs ***********************/
#if (ETM_PROTOCOL == 1)
/**************************
* ETM target error codes *
*************************/
enum ETMCommonTargetErrors {
ETM_OK = 0, // Ok
ETM_FINISHED = -1, // Previously started operation has finished.
// Errors that are related to the Riv env.
ETM_RV_FATAL = -48, // Fatal error in RIV environment eg. memory error
ETM_RV_NOT_SUPPORTED = -49, // Funtionality not supported by R蚔
// Error codes related to L1 Test mode
ETM_L1TESTMODE = -50, // Function not legal in this GGT test mode.
ETM_NOT_USED1 = -51, //
ETM_NOT_USED2 = -52, //
ETM_NOT_USED3 = -53, //
ETM_NOT_USED4 = -54, //
// ETM Common Target Errors
ETM_MESSAGE = -55, // Received unknown message
ETM_NOMEM = -56, // Out of memory
ETM_AGAIN = -57, // Not ready, try again later
ETM_BADOP = -58, // Operation not possible in current context
ETM_INVAL = -59, // Invalid parameter/argument
ETM_NOSYS = -60, // Module or function not present
ETM_FATAL = -61, // System fatal error
ETM_PACKET = -62, // Packet error (checksum or other)
ETM_OK_MORE = -63 // Ok, more data coming
};
#else
// TestMode Error Codes
enum
{
E_OK = 0, // Function completed successfully.
E_FINISHED = 1, // Previously started operation has finished.
E_TESTMODE = 2, // Function not legal in this GGT test mode.
E_BADINDEX = 3, // The index is undefined.
E_INVAL = 4, // Invalid Argument (out of range or other).
E_BADSIZE = 7, // Some table or list parameter was wrong in size
E_AGAIN = 8, // Not ready, try again later.
E_NOSYS = 9, // Function not implemented.
E_NOSUBSYS = 10, // Sub-Function not implemented.
E_BADCID = 14, // Invalid CID.
E_CHECKSUM = 15, // Checksum Error.
E_PACKET = 16, // Packet format is bad (wrong number of arguments).
E_FORWARD = 31 // Command parsed successfully, but further processing necessary
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -