/******************************************************************************* Eurecom OpenAirInterface 2 Copyright(c) 1999 - 2010 Eurecom This program is free software; you can redistribute it and/or modify it under the terms and conditions of the GNU General Public License, version 2, as published by the Free Software Foundation. This program is distributed in the hope it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA. The full GNU General Public License is included in this distribution in the file called "COPYING". Contact Information Openair Admin: openair_admin@eurecom.fr Openair Tech : openair_tech@eurecom.fr Forums : http://forums.eurecom.fsr/openairinterface Address : Eurecom, 2229, route des crĂȘtes, 06560 Valbonne Sophia Antipolis, France *******************************************************************************/ /*! \file vars.hles * \brief rrc variables * \author Raymond Knopp and Navid Nikaein * \date 2013 * \version 1.0 * \company Eurecom * \email: navid.nikaein@eurecom.fr */ #ifndef __OPENAIR_RRC_VARS_H__ #define __OPENAIR_RRC_VARS_H__ #include "defs.h" #include "LAYER2/RLC/rlc.h" #include "COMMON/mac_rrc_primitives.h" #include "LAYER2/MAC/defs.h" eNB_RRC_INST *eNB_rrc_inst; UE_RRC_INST *UE_rrc_inst; //RRC_XFACE *Rrc_xface; #ifndef USER_MODE //MAC_RLC_XFACE *Mac_rlc_xface; #ifndef NO_RRM int S_rrc= RRC2RRM_FIFO; #endif //NO_RRM //int R_rrc= RRM2RRC_FIFO; #else #include "LAYER2/MAC/extern.h" #ifndef NO_RRM sock_rrm_t S_rrc; #endif #endif #ifndef NO_RRM #ifndef USER_MODE char *Header_buf; char *Data; unsigned short Header_read_idx,Data_read_idx,Header_size; #endif unsigned short Data_to_read; #endif //NO_RRM #define MAX_U32 0xFFFFFFFF uint8_t DRB2LCHAN[8]; long logicalChannelGroup0 = 0; long logicalChannelSR_Mask_r9=0; struct LogicalChannelConfig__ul_SpecificParameters LCSRB1 = {1, LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_infinity, 0, &logicalChannelGroup0}; struct LogicalChannelConfig__ul_SpecificParameters LCSRB2 = {3, LogicalChannelConfig__ul_SpecificParameters__prioritisedBitRate_infinity, 0, &logicalChannelGroup0}; // These are the default SRB configurations from 36.331 (Chapter 9, p. 176-179 in v8.6) LogicalChannelConfig_t SRB1_logicalChannelConfig_defaultValue = {&LCSRB1 #ifdef Rel10 , &logicalChannelSR_Mask_r9 #endif }; LogicalChannelConfig_t SRB2_logicalChannelConfig_defaultValue = {&LCSRB2 #ifdef Rel10 , &logicalChannelSR_Mask_r9 #endif }; //CONSTANTS rlc_info_t Rlc_info_um,Rlc_info_am_config; uint16_t RACH_FREQ_ALLOC; //uint8_t NB_RACH; LCHAN_DESC BCCH_LCHAN_DESC,CCCH_LCHAN_DESC,DCCH_LCHAN_DESC,DTCH_DL_LCHAN_DESC,DTCH_UL_LCHAN_DESC; MAC_MEAS_T BCCH_MEAS_TRIGGER,CCCH_MEAS_TRIGGER,DCCH_MEAS_TRIGGER,DTCH_MEAS_TRIGGER; MAC_AVG_T BCCH_MEAS_AVG, CCCH_MEAS_AVG,DCCH_MEAS_AVG, DTCH_MEAS_AVG; // timers uint16_t T300[8] = {100,200,300,400,600,1000,1500,2000}; uint16_t T310[8] = {0,50,100,200,500,1000,2000}; uint16_t N310[8] = {1,2,3,4,6,8,10,20}; uint16_t N311[8] = {1,2,3,4,6,8,10,20}; uint32_t T304[8] = {50,100,150,200,500,1000,2000,MAX_U32}; // TimeToTrigger enum mapping table (36.331 TimeToTrigger IE) uint32_t timeToTrigger_ms[16] = {0,40,64,80,100,128,160,256,320,480,512,640,1024,1280,2560,5120}; /* 36.133 Section 9.1.4 RSRP Measurement Report Mapping, Table: 9.1.4-1 */ float RSRP_meas_mapping[100] = { -140, -139, -138, -137, -136, -135, -134, -133, -132, -131, -130, -129, -128, -127, -126, -125, -124, -123, -122, -121, -120, -119, -118, -117, -116, -115, -114, -113, -112, -111, -110, -109, -108, -107, -106, -105, -104, -103, -102, -101, -100, -99, -98, -97, -96, -95, -94, -93, -92, -91, -90, -89, -88, -87, -86, -85, -84, -83, -82, -81, -80, -79, -78, -77, -76, -75, -74, -73, -72, -71, -70, -69, -68, -67, -66, -65, -64, -63, -62, -61, -60, -59, -58, -57, -56, -55, -54, -53, -52, -51, -50, -49, -48, -47, -46, -45, -44 }; float RSRQ_meas_mapping[33] = { -19, -18.5, -18, -17.5, -17, -16.5, -16, -15.5, -15, -14.5, -14, -13.5, -13, -12.5, -12, -11.5, -11, -10.5, -10, -9.5, -9, -8.5, -8, -7.5, -7, -6.5, -6, -5.5, -5, -4.5, -4, -3.5, -3 }; #endif