📄 l1_mftab.h
字号:
/************* Revision Controle System Header *************
* GSM Layer 1 software
* L1_MFTAB.H
*
* Filename l1_mftab.h
* Copyright 2003 (C) Texas Instruments
*
************* Revision Controle System Header *************/
/***********************************************************
* Content:
* This file contains the MultiFrame tables for all L1S
* basic tasks.
***********************************************************/
/*******************************************************************************************/
/* Multiframe Blocks for Dynamic MFTAB Building purpose. */
/*******************************************************************************************/
// Multiframe table size....
#ifndef L1_MFTAB_H
#define L1_MFTAB_H
#define BLOC_FBNEW_SIZE 14 + 2 // FB.
#define BLOC_SB2_SIZE 5 + 2 // SB2.
#define BLOC_SBCONF_SIZE 4 + 2 // SBCONF.
#define BLOC_BCCHN_SIZE 7 + 2 // BCCHN.
#define BLOC_BCCHN_TOP_SIZE 7 + 2 // BCCHN_TOP (BCCHN top priority)
#define BLOC_SYNCHRO_SIZE 1 // SYNC.
#define BLOC_ADC_SIZE 1 // ADC in CS_MODE0
#define BLOC_ABORT_SIZE 3 // ABORT.
#define BLOC_RAACC_SIZE 3 // RAACC.
#define S_RECT4_SIZE 6 // All "rectangular 4" serving tasks: NP/EP/BCCHS/ALLC.
#define BLOC_TCHT_SIZE 3 // TCHTF / TCHTH / TCHD.
#define BLOC_TCHA_SIZE 3 // TCHA.
#define BLOC_SMSCB_SIZE 6 // SMSCB.
#define BLOC_FB51_SIZE 14 // FB51.
#define BLOC_SB51_SIZE 4 // SB51.
#define BLOC_SBCNF51_SIZE 4 // SBCNF51.
#define BLOC_FB26_SIZE 4 // FB26.
#define BLOC_SB26_SIZE 5 // SB26.
#define BLOC_SBCNF26_SIZE 5 // SBCNF26.
#define BLOC_HWTEST_SIZE 4 // HWTEST.
#define BLOC_DUL_ADL_MIXED_SIZED 7
#if (L1_GPRS)
#define BLOC_BCCHN_TRAN_SIZE 7 // BCCHN_TRAN.
#endif
#ifdef L1_ASYNC_C
/*----------------------------------------------------*/
/* TASK: Frequency Burst search... */
/*----------------------------------------------------*/
const T_FCT BLOC_FBNEW[] =
{
{l1s_ctrl_msagc,FBNEW,NO_PAR}, {NULL,NO_PAR,NO_PAR}, // frame 1
{NULL,NO_PAR,NO_PAR}, // frame 2
{l1s_read_msagc,FBNEW,NO_PAR},{l1s_ctrl_fb,FBNEW,NO_PAR}, {NULL,NO_PAR,NO_PAR}, // frame 3
{NULL,NO_PAR,NO_PAR}, // frame 4
{l1s_read_mon_result,FBNEW, 1},{NULL,NO_PAR,NO_PAR}, // frame 5
{l1s_read_mon_result,FBNEW, 2},{NULL,NO_PAR,NO_PAR}, // frame 6
{l1s_read_mon_result,FBNEW, 3},{NULL,NO_PAR,NO_PAR}, // frame 7
{l1s_read_mon_result,FBNEW, 4},{NULL,NO_PAR,NO_PAR}, // frame 8
{l1s_read_mon_result,FBNEW, 5},{NULL,NO_PAR,NO_PAR}, // frame 9
{l1s_read_mon_result,FBNEW, 6},{NULL,NO_PAR,NO_PAR}, // frame 10
{l1s_read_mon_result,FBNEW, 7},{NULL,NO_PAR,NO_PAR}, // frame 11
{l1s_read_mon_result,FBNEW, 8},{NULL,NO_PAR,NO_PAR}, // frame 12
{l1s_read_mon_result,FBNEW, 9},{NULL,NO_PAR,NO_PAR}, // frame 13
{l1s_read_mon_result,FBNEW,10},{NULL,NO_PAR,NO_PAR}, // frame 14
{l1s_read_mon_result,FBNEW,11},{NULL,NO_PAR,NO_PAR}, // frame 15
{l1s_read_mon_result,FBNEW,12},{NULL,NO_PAR,NO_PAR} // frame 16
};
/*----------------------------------------------------*/
/* TASK: SB2, New Synchro Burst search... */
/*----------------------------------------------------*/
/* C W R -> AGC */
/* C W W R -> 1st SB */
/* C W W R -> 2nd SB */
/*----------------------------------------------------*/
const T_FCT BLOC_SB2[] =
{
{l1s_ctrl_msagc,SB2,NO_PAR}, {NULL,NO_PAR,NO_PAR}, // frame 1
{NULL,NO_PAR,NO_PAR}, // frame 2
{l1s_read_msagc,SB2,NO_PAR}, {l1s_ctrl_sbgen,SB2,1}, {NULL,NO_PAR,NO_PAR}, // frame 3
{l1s_ctrl_sbgen,SB2,2}, {NULL,NO_PAR,NO_PAR}, // frame 4
{NULL,NO_PAR,NO_PAR}, // frame 5
{l1s_read_mon_result,SB2,1}, {NULL,NO_PAR,NO_PAR}, // frame 6
{l1s_read_mon_result,SB2,2}, {NULL,NO_PAR,NO_PAR} // frame 7
};
/*----------------------------------------------------*/
/* TASK: SBCONF, Synchro confirmation. */
/*----------------------------------------------------*/
/* C W R -> AGC */
/* C W W R -> SBCONF */
/*----------------------------------------------------*/
const T_FCT BLOC_SBCONF[] =
{
{l1s_ctrl_msagc,SBCONF,1}, {NULL,NO_PAR,NO_PAR}, // frame 1
{NULL,NO_PAR,NO_PAR}, // frame 2
{l1s_read_msagc,SBCONF,1},{l1s_ctrl_sbgen,SBCONF,1}, {NULL,NO_PAR,NO_PAR}, // frame 3
{NULL,NO_PAR,NO_PAR}, // frame 4
{NULL,NO_PAR,NO_PAR}, // frame 5
{l1s_read_mon_result,SBCONF,1},{NULL,NO_PAR,NO_PAR} // frame 6
};
/*----------------------------------------------------*/
/* TASK: Serving cell Normal BCCH reading. */
/*----------------------------------------------------*/
/* frame 1 2 3 4 5 6 */
/* | | | | | | */
/* C W R | | | -> burst 1 */
/* C W R | | -> burst 2 */
/* C W R | -> burst 3 */
/* C W R -> burst 4 */
/*----------------------------------------------------*/
const T_FCT BLOC_NBCCHS[] =
{
{l1s_ctrl_snb_dl,NBCCHS,BURST_1}, {NULL,NO_PAR,NO_PAR}, // frame 1
{l1s_ctrl_snb_dl,NBCCHS,BURST_2}, {NULL,NO_PAR,NO_PAR}, // frame 2
{l1s_read_snb_dl,NBCCHS,BURST_1},{l1s_ctrl_snb_dl,NBCCHS,BURST_3},{NULL,NO_PAR,NO_PAR}, // frame 3
{l1s_read_snb_dl,NBCCHS,BURST_2},{l1s_ctrl_snb_dl,NBCCHS,BURST_4},{NULL,NO_PAR,NO_PAR}, // frame 4
{l1s_read_snb_dl,NBCCHS,BURST_3},{NULL,NO_PAR,NO_PAR}, // frame 5
{l1s_read_snb_dl,NBCCHS,BURST_4},{NULL,NO_PAR,NO_PAR} // frame 6
};
/*----------------------------------------------------*/
/* TASK: Serving cell Extended BCCH reading. */
/*----------------------------------------------------*/
/* frame 1 2 3 4 5 6 */
/* | | | | | | */
/* C W R | | | -> burst 1 */
/* C W R | | -> burst 2 */
/* C W R | -> burst 3 */
/* C W R -> burst 4 */
/*----------------------------------------------------*/
const T_FCT BLOC_EBCCHS[] =
{
{l1s_ctrl_snb_dl,EBCCHS,BURST_1}, {NULL,NO_PAR,NO_PAR}, // frame 1
{l1s_ctrl_snb_dl,EBCCHS,BURST_2}, {NULL,NO_PAR,NO_PAR}, // frame 2
{l1s_read_snb_dl,EBCCHS,BURST_1},{l1s_ctrl_snb_dl,EBCCHS,BURST_3},{NULL,NO_PAR,NO_PAR}, // frame 3
{l1s_read_snb_dl,EBCCHS,BURST_2},{l1s_ctrl_snb_dl,EBCCHS,BURST_4},{NULL,NO_PAR,NO_PAR}, // frame 4
{l1s_read_snb_dl,EBCCHS,BURST_3},{NULL,NO_PAR,NO_PAR}, // frame 5
{l1s_read_snb_dl,EBCCHS,BURST_4},{NULL,NO_PAR,NO_PAR} // frame 6
};
/*----------------------------------------------------*/
/* TASK: Neighbour Cell SYStem info reading. */
/*----------------------------------------------------*/
/* C W R -> AGC */
/* C W W W W W R -> all bursts */
/*----------------------------------------------------*/
const T_FCT BLOC_BCCHN[] =
{
{l1s_ctrl_msagc,BCCHN,NO_PAR}, {NULL,NO_PAR,NO_PAR}, // frame 1
{NULL,NO_PAR,NO_PAR}, // frame 2
{l1s_read_msagc,BCCHN,NO_PAR},{l1s_ctrl_nnb,BCCHN,NO_PAR},{NULL,NO_PAR,NO_PAR}, // frame 3
{NULL,NO_PAR,NO_PAR}, // frame 4
{NULL,NO_PAR,NO_PAR}, // frame 5
{NULL,NO_PAR,NO_PAR}, // frame 6
{NULL,NO_PAR,NO_PAR}, // frame 7
{NULL,NO_PAR,NO_PAR}, // frame 8
{l1s_read_nnb,BCCHN,NO_PAR},{NULL,NO_PAR,NO_PAR} // frame 9
};
/*----------------------------------------------------*/
/* TASK: Neighbour Cell SYStem info reading. */
/*----------------------------------------------------*/
/* C W R -> AGC */
/* C W W W W W R -> all bursts */
/*----------------------------------------------------*/
const T_FCT BLOC_BCCHN_TOP[] =
{
{l1s_ctrl_msagc,BCCHN_TOP,NO_PAR}, {NULL,NO_PAR,NO_PAR}, // frame 1
{NULL,NO_PAR,NO_PAR}, // frame 2
{l1s_read_msagc,BCCHN_TOP,NO_PAR},{l1s_ctrl_nnb,BCCHN_TOP,NO_PAR},{NULL,NO_PAR,NO_PAR}, // frame 3
{NULL,NO_PAR,NO_PAR}, // frame 4
{NULL,NO_PAR,NO_PAR}, // frame 5
{NULL,NO_PAR,NO_PAR}, // frame 6
{NULL,NO_PAR,NO_PAR}, // frame 7
{NULL,NO_PAR,NO_PAR}, // frame 8
{l1s_read_nnb,BCCHN_TOP,NO_PAR},{NULL,NO_PAR,NO_PAR} // frame 9
};
/*----------------------------------------------------*/
/* TASK: Neighbour Cell SYStem info reading. */
/* for packet transfer mode */
/*----------------------------------------------------*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -