l1_defty.h
来自「是一个手机功能的模拟程序」· C头文件 代码 · 共 2,168 行 · 第 1/5 页
H
2,168 行
API_SIGNED d_gu;
API_SIGNED d_go;
API_SIGNED d_attmax;
API_SIGNED d_sm;
API_SIGNED d_b;
#if (VOC == FR_HR) || (VOC == FR_HR_EFR)
//...................................TCH Half Speech.
API_SIGNED d_ldT_hr;
API_SIGNED d_maccthresh_hr;
API_SIGNED d_maccthresh1_hr;
API_SIGNED d_gu_hr;
API_SIGNED d_go_hr;
API_SIGNED d_b_hr;
API_SIGNED d_sm_hr;
API_SIGNED d_attmax_hr;
#endif
#if (VOC == FR_EFR) || (VOC == FR_HR_EFR)
//...................................TCH Enhanced FR Speech.
API_SIGNED c_mldt_efr;
API_SIGNED c_maccthresh_efr;
API_SIGNED c_maccthresh1_efr;
API_SIGNED c_gu_efr;
API_SIGNED c_go_efr;
API_SIGNED c_b_efr;
API_SIGNED c_sm_efr;
API_SIGNED c_attmax_efr;
#endif
//...................................TCH Full Speech.
API_SIGNED d_sd_min_thr_tchfs;
API_SIGNED d_ma_min_thr_tchfs;
API_SIGNED d_md_max_thr_tchfs;
API_SIGNED d_md1_max_thr_tchfs;
#if (VOC == FR) || (VOC == FR_HR) || (VOC == FR_HR_EFR)
//...................................TCH Half Speech.
API_SIGNED d_sd_min_thr_tchhs;
API_SIGNED d_ma_min_thr_tchhs;
API_SIGNED d_sd_av_thr_tchhs;
API_SIGNED d_md_max_thr_tchhs;
API_SIGNED d_md1_max_thr_tchhs;
#endif
#if (VOC == FR_EFR) || (VOC == FR_HR_EFR)
//...................................TCH Enhanced FR Speech.
API_SIGNED d_sd_min_thr_tchefs; //(24L *C_POND_RED)
API_SIGNED d_ma_min_thr_tchefs; //(1200L *C_POND_RED)
API_SIGNED d_md_max_thr_tchefs; //(2000L *C_POND_RED)
API_SIGNED d_md1_max_thr_tchefs; //(160L *C_POND_RED)
API_SIGNED d_hole1;
#endif
API_SIGNED d_wed_fil_ini;
API_SIGNED d_wed_fil_tc;
API_SIGNED d_x_min;
API_SIGNED d_x_max;
API_SIGNED d_slope;
API_SIGNED d_y_min;
API_SIGNED d_y_max;
API_SIGNED d_wed_diff_threshold;
API_SIGNED d_mabfi_min_thr_tchhs;
API_SIGNED d_facch_thr;
API_SIGNED d_dsp_test;
#if (DATA14_4 == 0 ) || (VOC == FR_HR_EFR)
API_SIGNED d_patch_addr1;
API_SIGNED d_patch_data1;
API_SIGNED d_patch_addr2;
API_SIGNED d_patch_data2;
API_SIGNED d_patch_addr3;
API_SIGNED d_patch_data3;
API_SIGNED d_patch_addr4;
API_SIGNED d_patch_data4;
#endif
//...................................
API_SIGNED d_version_number; // DSP patch version
API_SIGNED d_ti_version; // customer number. No more used since 1.5
API_SIGNED d_dsp_page;
#if IDS
API_SIGNED d_max_ovsp_ul;
API_SIGNED d_sync_thres;
API_SIGNED d_idle_thres;
API_SIGNED d_m1_thres;
API_SIGNED d_max_ovsp_dl;
#endif
}
T_PARAM_MCU_DSP;
#endif
#if (DSP_DEBUG_TRACE_ENABLE)
typedef struct
{
API d_debug_ptr_begin;
API d_debug_ptr_end;
}
T_DB2_DSP_TO_MCU;
#endif
/*************************************************************/
/* Time informations... */
/*************************************************************/
/* */
/*************************************************************/
typedef struct
{
UWORD32 fn; // FN count
UWORD16 t1; // FN div (26*51), (0..2047).
UWORD8 t2; // FN modulo 26.
UWORD8 t3; // FN modulo 51.
UWORD8 tc; // Scell: TC
UWORD8 fn_in_report; // FN modulo 102 or 104.
UWORD16 fn_mod42432; // FN modulo 42432.
UWORD8 fn_mod13; // FN modulo 13.
#if L1_GPRS
UWORD8 fn_mod52; // FN modulo 52.
UWORD8 fn_mod104; // FN modulo 104.
UWORD8 fn_mod13_mod4; // FN modulo 13 modulo 4.
UWORD32 block_id; // Block ID
#endif
}
T_TIME_INFO;
/*************************************************************/
/* Idle mode tasks information... */
/*************************************************************/
/* must be filled according to Idle parameters... */
/* ... */
/*************************************************************/
typedef struct
{
UWORD8 pg_position; // Paging block starting frame.
UWORD8 extpg_position; // Extended Paging block starting frame.
}
T_IDLE_TASK_INFO;
/*************************************************************/
/* SDCCH information structure. */
/*************************************************************/
/* */
/* */
/*************************************************************/
typedef struct
{
UWORD8 dl_sdcch_position;
UWORD8 dl_sacch_position;
UWORD8 ul_sdcch_position;
UWORD8 ul_sacch_position;
UWORD8 mon_area_position;
}
T_SDCCH_DESC;
/*************************************************************/
/* Random Access Task information structure. */
/*************************************************************/
/* */
/* */
/*************************************************************/
typedef struct
{
WORD32 rand; // 16 bit signed !!
UWORD8 channel_request;
UWORD8 ra_to_ctrl;
UWORD8 ra_num;
}
T_RA_TASK_INFO;
/***************************************************************************************/
/* Measurement info element for last input level table */
/***************************************************************************************/
typedef struct
{
UWORD8 lna_off; // 1 if lna switch is off.
UWORD8 input_level; // last measured input level in dbm.
}
T_INPUT_LEVEL;
/***************************************************************************************/
/* Measurement info element for Neighbor cell lists. */
/***************************************************************************************/
typedef struct
{
UWORD16 radio_freq; // carrier id.
WORD32 acc; // Accumulation of measurements already performed.
UWORD8 nbr_meas;
}
T_MEAS_INFO;
typedef struct
{
UWORD16 bcch_freq;
WORD16 rxlev_acc;
UWORD8 rxlev_nbr_meas;
}
T5_CELL_MEAS;
typedef struct
{
T5_CELL_MEAS A[33];
}
T5_NCELL_MEAS;
/***************************************************************************************/
/* Measurement info element serving cell in dedicated mode */
/***************************************************************************************/
typedef struct
{
WORD32 acc_sub; // Subset: accu. rxlev meas.
UWORD32 nbr_meas_sub; // Subset: nbr meas. of rxlev.
UWORD32 qual_acc_full; // Fullset: accu. rxqual meas.
UWORD32 qual_acc_sub; // Subset: accu. rxqual meas.
UWORD32 qual_nbr_meas_full; // Fullset: nbr meas. of rxqual.
UWORD32 qual_nbr_meas_sub; // Subset: nbr meas. of rxqual.
UWORD8 dtx_used; // Set when DTX as been used in current reporting period.
}
T_SMEAS;
/***************************************************************************************/
/* */
/***************************************************************************************/
typedef struct
{
UWORD8 new_status;
UWORD8 current_status;
WORD32 time_to_exec;
}
T_TASK_STATUS;
/***************************************************************************************/
/* Cell/Carrier info: identity, RX level measurement, time info, gain controle info. */
/***************************************************************************************/
typedef struct
{
// Carrier/Cell Identity.
UWORD16 radio_freq; // carrier id.
WORD32 bsic; // BSIC.
// Time difference information.
UWORD32 fn_offset; // offset between fn of this NCELL and the SCELL fn.
UWORD32 time_alignmt; // time alignment.
// Receive Level Measurement info. structure.
T_MEAS_INFO meas;
T_INPUT_LEVEL traffic_meas;
T_INPUT_LEVEL traffic_meas_beacon;
// Beacon frequency FIFO
UWORD8 buff_beacon[4];
#if L1_GPRS
// Receive Level measurements in packet transfer mode
// Daughter frequencies info.
T_INPUT_LEVEL transfer_meas;
// Power reduction on serving cell PCCCH / PBCCH
UWORD8 pb;
#endif
// Number of unsuccessfull attempt on SB reading.
UWORD8 attempt_count;
// System information bitmap.
UWORD32 si_bit_map; // System info. bitmap used for BCCH reading.
}
T_CELL_INFO;
typedef struct
{
UWORD16 A[32+1];
}
TC_CHAN_LIST;
typedef struct
{
UWORD8 num_of_chans;
TC_CHAN_LIST chan_list;
BOOL pwrc;
BOOL dtx_allowed;
UWORD8 ba_id;
}
T_NEW_BA_LIST;
typedef struct
{
UWORD8 ba_id; // BA list identifier.
UWORD32 nbr_carrier; // number of carriers in the BA list.
UWORD8 np_ctrl; // Tels the meas_manager which PCH burst has been controled.
UWORD8 first_index; // First BA index measured in current session.
UWORD8 next_to_ctrl; // Carrier for next power measurement result.
UWORD8 next_to_read; // Measurement session time spent.
UWORD8 ms_ctrl;
UWORD8 ms_ctrl_d;
UWORD8 ms_ctrl_dd;
UWORD8 used_il [2];
UWORD8 used_il_d [2];
UWORD8 used_il_dd[2];
UWORD8 used_lna [2];
UWORD8 used_lna_d [2];
UWORD8 used_lna_dd[2];
T_MEAS_INFO A[32+1]; // list of 32 neighbors + 1 serving.
BOOL new_list_present;
T_NEW_BA_LIST new_list;
}
T_BA_LIST;
typedef struct
{
UWORD16 radio_freq;
WORD16 accum_power_result;
}
T_POWER_ARRAY;
typedef struct
{
UWORD16 power_array_size;
T_POWER_ARRAY power_array[NBMAX_CARRIER];
}
T_FULL_LIST_MEAS;
typedef struct
{
UWORD32 nbr_sat_carrier_ctrl; // Nb of saturated carriers after a pm session in ctrl.
UWORD32 nbr_sat_carrier_read; // Nb of saturated carriers after a pm session in read.
UWORD8 meas_1st_pass_ctrl; // flag for 1st pass during a pm session in ctrl.
UWORD8 meas_1st_pass_read; // flag for 1st pass during a pm session in read.
UWORD32 next_to_ctrl; // Carrier for next power measurement result.
UWORD32 next_to_read; // Measurement session time spent.
UWORD8 ms_ctrl;
UWORD8 ms_ctrl_d;
UWORD8 ms_ctrl_dd;
UWORD8 sat_flag[NBMAX_CARRIER];
// last measure was saturated, so not valid
}
T_FULL_LIST;
/*************************************************************/
/* Dedicated channel information structure... */
/*************************************************************/
/* */
/*************************************************************/
typedef struct
{
T_CHANNEL_DESCRIPTION *desc_ptr; // Ptr to the Active channel description
T_CHANNEL_DESCRIPTION desc; // Channel description for AFTER STI.
T_CHANNEL_DESCRIPTION desc_bef_sti; // Channel description for BEFORE STI.
UWORD8 mode; // Channel mode.
UWORD8 tch_loop; // TCH loop mode.
}
T_CHANNEL_INFO;
/*************************************************************/
/* Mobile allocation information structure... */
/*************************************************************/
/* */
/*************************************************************/
typedef struct
{
T_MOBILE_ALLOCATION *alist_ptr; // Ptr to the Active frequency list
T_MOBILE_ALLOCATION freq_list;
T_MOBILE_ALLOCATION freq_list_bef_sti;
}
T_MA_INFO;
/*************************************************************/
/* Dedicated channel parameter structure... */
/*************************************************************/
/* */
/*************************************************************/
typedef struct
{
T_CHANNEL_INFO *achan_ptr; // Ptr to the Active channel (chan1 or chan2)
T_CHANNEL_INFO chan1;
T_CHANNEL_INFO chan2;
T_MA_INFO ma;
WORD32 serv_sti_fn; // Chan. desc. change time, serving domain.(-1 for not in use).
WORD32 neig_sti_fn; // Chan. desc. change time, neighbor domain.(-1 for not in use).
// Frequency redefinition ongoing flag.
//-------------------------------------
UWORD8 freq_redef_flag; // Set to TRUE when a Freq. Redef. must be confirmed.
// Timing Advance management.
//---------------------------
UWORD8 timing_advance; // Currently used TA.
UWORD8 new_timing_advance; // New timing advance value to be used on 1st frame
// of the next reporting period.
// TXPWR management.
//-------------------
UWORD8 new_target_txpwr; // New Target value for TXPWR control algo.
T_CELL_INFO cell_desc; // Ptr to the new serving cell to download.
// DAI test mode... DTX allowed...
UWORD8 dai_mode; // Dai test mode.
BOOL dtx_allowed; // DTX allowed (flag).
// Encryption...
T_ENCRYPTION_KEY ciph_key;
UWORD8 a5mode;
// For handover...
UWORD8 ho_acc; // Handover access (part of HO reference)
WORD32 ho_acc_to_send; // Set to 4 for SYNC HO and to -1 for ASYNC HO.
UWORD8 t3124; // Timer used in Async. Ho.
// For DPAGC algorithms purpose
UWORD8 G_all[DPAGC_FIFO_LEN];
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?