Adding Schedule UE Spec BR Method
This commit is contained in:
@@ -1,2 +0,0 @@
|
||||
// Add predefined macros for your project here. For example:
|
||||
// #define THE_ANSWER 42
|
||||
@@ -1 +0,0 @@
|
||||
[General]
|
||||
-7877
File diff suppressed because it is too large
Load Diff
@@ -1,143 +0,0 @@
|
||||
cmake_targets/lte_build_oai/build/CMakeFiles/R10.5
|
||||
cmake_targets/lte_build_oai/build/CMakeFiles/R11.2
|
||||
cmake_targets/lte_build_oai/build/CMakeFiles/Rel14
|
||||
common
|
||||
common/utils
|
||||
common/utils/collection
|
||||
common/utils/hashtable
|
||||
common/utils/itti
|
||||
common/utils/itti_analyzer/common
|
||||
common/utils/itti_analyzer/libbuffers
|
||||
common/utils/itti_analyzer/libparser
|
||||
common/utils/itti_analyzer/libresolver
|
||||
common/utils/itti_analyzer/libui
|
||||
common/utils/msc
|
||||
common/utils/T
|
||||
common/utils/T/tracer
|
||||
common/utils/T/tracer/filter
|
||||
common/utils/T/tracer/gui
|
||||
common/utils/T/tracer/logger
|
||||
common/utils/T/tracer/view
|
||||
openair1/PHY
|
||||
openair1/PHY/CODING
|
||||
openair1/PHY/INIT
|
||||
openair1/PHY/LTE_ESTIMATION
|
||||
openair1/PHY/LTE_REFSIG
|
||||
openair1/PHY/LTE_TRANSPORT
|
||||
openair1/PHY/MODULATION
|
||||
openair1/PHY/TOOLS
|
||||
openair1/SCHED
|
||||
openair1/SIMULATION/ETH_TRANSPORT
|
||||
openair1/SIMULATION/LTE_PHY
|
||||
openair1/SIMULATION/RF
|
||||
openair1/SIMULATION/TOOLS
|
||||
openair2/COMMON
|
||||
openair2/DOCS/TEMPLATES/CODE
|
||||
openair2/ENB_APP
|
||||
openair2/ENB_APP/CONTROL_MODULES/MAC
|
||||
openair2/LAYER2
|
||||
openair2/LAYER2/MAC
|
||||
openair2/LAYER2/PDCP_v10.1.0
|
||||
openair2/LAYER2/RLC
|
||||
openair2/LAYER2/RLC/AM_v9.3.0
|
||||
openair2/LAYER2/RLC/TM_v9.3.0
|
||||
openair2/LAYER2/RLC/UM_v9.3.0
|
||||
openair2/NAS/DRIVER/CELLULAR/CTL_TOOL
|
||||
openair2/NAS/DRIVER/CELLULAR/NASMT
|
||||
openair2/NAS/DRIVER/CELLULAR/NASRG
|
||||
openair2/NAS/SIMU_CELLULAR
|
||||
openair2/NETWORK_DRIVER/LITE
|
||||
openair2/NETWORK_DRIVER/MESH
|
||||
openair2/NETWORK_DRIVER/UE_IP
|
||||
openair2/PHY_INTERFACE
|
||||
openair2/RRC/L2_INTERFACE
|
||||
openair2/RRC/LITE
|
||||
openair2/RRC/LITE/MESSAGES
|
||||
openair2/RRC/NAS
|
||||
openair2/UTIL/ASYNC_IF
|
||||
openair2/UTIL/BIGPHYS
|
||||
openair2/UTIL/CLI
|
||||
openair2/UTIL/FIFO
|
||||
openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/inc
|
||||
openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src
|
||||
openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction
|
||||
openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist
|
||||
openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_liblfds
|
||||
openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_queue
|
||||
openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_ringbuffer
|
||||
openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_slist
|
||||
openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_stack
|
||||
openair2/UTIL/LFDS/liblfds6.1.1/test/src
|
||||
openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc
|
||||
openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/inc/liblfds700
|
||||
openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src
|
||||
openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_btree_addonly_unbalanced
|
||||
openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_freelist
|
||||
openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_hash_addonly
|
||||
openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_ordered_singlylinked
|
||||
openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_list_addonly_singlylinked_unordered
|
||||
openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_misc
|
||||
openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue
|
||||
openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_queue_bounded_singleconsumer_singleproducer
|
||||
openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_ringbuffer
|
||||
openair2/UTIL/LFDS/liblfds7.0.0/liblfds700/src/lfds700_stack
|
||||
openair2/UTIL/LFDS/liblfds7.0.0/test/src
|
||||
openair2/UTIL/LISTS
|
||||
openair2/UTIL/LOG
|
||||
openair2/UTIL/MATH
|
||||
openair2/UTIL/MEM
|
||||
openair2/UTIL/OCG
|
||||
openair2/UTIL/OMG
|
||||
openair2/UTIL/OMV
|
||||
openair2/UTIL/OPT
|
||||
openair2/UTIL/OSA
|
||||
openair2/UTIL/OTG
|
||||
openair2/UTIL/TIMER
|
||||
openair2/UTIL/TRACE
|
||||
openair2/X2AP
|
||||
openair3/COMMON
|
||||
openair3/GTPV1-U
|
||||
openair3/GTPV1-U/nw-gtpv1u/include
|
||||
openair3/GTPV1-U/nw-gtpv1u/shared
|
||||
openair3/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld
|
||||
openair3/NAS/COMMON
|
||||
openair3/NAS/COMMON/API/NETWORK
|
||||
openair3/NAS/COMMON/EMM/MSG
|
||||
openair3/NAS/COMMON/ESM/MSG
|
||||
openair3/NAS/COMMON/IES
|
||||
openair3/NAS/COMMON/UTIL
|
||||
openair3/NAS/TEST/AS_SIMULATOR
|
||||
openair3/NAS/TEST/NETWORK
|
||||
openair3/NAS/TEST/USER
|
||||
openair3/NAS/TOOLS
|
||||
openair3/NAS/UE
|
||||
openair3/NAS/UE/API/USER
|
||||
openair3/NAS/UE/API/USIM
|
||||
openair3/NAS/UE/EMM
|
||||
openair3/NAS/UE/EMM/SAP
|
||||
openair3/NAS/UE/ESM
|
||||
openair3/NAS/UE/ESM/SAP
|
||||
openair3/S1AP
|
||||
openair3/SCTP
|
||||
openair3/SECU
|
||||
openair3/TEST
|
||||
openair3/TEST/EPC_TEST
|
||||
openair3/UDP
|
||||
openair3/UTILS
|
||||
targets/ARCH/BLADERF/USERSPACE/LIB
|
||||
targets/ARCH/COMMON
|
||||
targets/ARCH/ETHERNET/USERSPACE/LIB
|
||||
targets/ARCH/EXMIMO/DEFS
|
||||
targets/ARCH/EXMIMO/DRIVER/eurecom
|
||||
targets/ARCH/EXMIMO/DRIVER/exmimo3
|
||||
targets/ARCH/EXMIMO/DRIVER/telecomparistech
|
||||
targets/ARCH/EXMIMO/USERSPACE/LIB
|
||||
targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT
|
||||
targets/ARCH/EXMIMO/USERSPACE/OCTAVE
|
||||
targets/COMMON
|
||||
targets/RT/USER
|
||||
targets/RT/USER/TOOLS
|
||||
targets/SIMU/PROC
|
||||
targets/SIMU/USER
|
||||
targets/TEST/PDCP
|
||||
targets/TEST/ROHDE_SCHWARZ
|
||||
@@ -1,2 +0,0 @@
|
||||
// Add predefined macros for your project here. For example:
|
||||
// #define THE_ANSWER 42
|
||||
@@ -1 +0,0 @@
|
||||
[General]
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,182 +0,0 @@
|
||||
common/utils
|
||||
common/utils/collection
|
||||
common/utils/collection/hashtable
|
||||
common/utils/itti
|
||||
common/utils/itti_analyzer/common
|
||||
common/utils/itti_analyzer/libbuffers
|
||||
common/utils/itti_analyzer/libparser
|
||||
common/utils/itti_analyzer/libresolver
|
||||
common/utils/itti_analyzer/libui
|
||||
common/utils/msc
|
||||
openair-cn/COMMON
|
||||
openair-cn/GTPV1-U
|
||||
openair-cn/GTPV1-U/GTPUAH
|
||||
openair-cn/GTPV1-U/nw-gtpv1u/include
|
||||
openair-cn/GTPV1-U/nw-gtpv1u/shared
|
||||
openair-cn/GTPV1-U/nw-gtpv1u/test-app/nw-helloworld
|
||||
openair-cn/GTPV2-C/nwgtpv2c-0.11/include
|
||||
openair-cn/GTPV2-C/nwgtpv2c-0.11/shared
|
||||
openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-egtping
|
||||
openair-cn/GTPV2-C/nwgtpv2c-0.11/test-app/nw-helloworld
|
||||
openair-cn/INTERTASK_INTERFACE
|
||||
openair-cn/MME_APP
|
||||
openair-cn/NAS
|
||||
openair-cn/NAS/EURECOM-NAS/src
|
||||
openair-cn/NAS/EURECOM-NAS/src/api/mme
|
||||
openair-cn/NAS/EURECOM-NAS/src/api/network
|
||||
openair-cn/NAS/EURECOM-NAS/src/api/user
|
||||
openair-cn/NAS/EURECOM-NAS/src/api/usim
|
||||
openair-cn/NAS/EURECOM-NAS/src/emm
|
||||
openair-cn/NAS/EURECOM-NAS/src/emm/msg
|
||||
openair-cn/NAS/EURECOM-NAS/src/emm/sap
|
||||
openair-cn/NAS/EURECOM-NAS/src/esm
|
||||
openair-cn/NAS/EURECOM-NAS/src/esm/msg
|
||||
openair-cn/NAS/EURECOM-NAS/src/esm/sap
|
||||
openair-cn/NAS/EURECOM-NAS/src/ies
|
||||
openair-cn/NAS/EURECOM-NAS/src/include
|
||||
openair-cn/NAS/EURECOM-NAS/src/util
|
||||
openair-cn/NAS/EURECOM-NAS/tools
|
||||
openair-cn/NAS/EURECOM-NAS/tst/as_simulator
|
||||
openair-cn/NAS/EURECOM-NAS/tst/network
|
||||
openair-cn/NAS/EURECOM-NAS/tst/user
|
||||
openair-cn/OAI_EPC
|
||||
openair-cn/OAI_SGW
|
||||
openair-cn/OAISIM_MME
|
||||
openair-cn/OPENAIRHSS/access_restriction
|
||||
openair-cn/OPENAIRHSS/auc
|
||||
openair-cn/OPENAIRHSS/db
|
||||
openair-cn/OPENAIRHSS/s6a
|
||||
openair-cn/OPENAIRHSS/tests
|
||||
openair-cn/OPENAIRHSS/utils
|
||||
openair-cn/S11
|
||||
openair-cn/S1AP
|
||||
openair-cn/S6A
|
||||
openair-cn/SCTP
|
||||
openair-cn/SECU
|
||||
openair-cn/SGW-LITE
|
||||
openair-cn/TEST
|
||||
openair-cn/UDP
|
||||
openair-cn/UTILS
|
||||
openair-cn/UTILS/HASHTABLE
|
||||
openair1/MAC_INTERFACE
|
||||
openair1/PHY
|
||||
openair1/PHY/CODING
|
||||
openair1/PHY/INIT
|
||||
openair1/PHY/LTE_ESTIMATION
|
||||
openair1/PHY/LTE_REFSIG
|
||||
openair1/PHY/LTE_TRANSPORT
|
||||
openair1/PHY/MODULATION
|
||||
openair1/PHY/TOOLS
|
||||
openair1/SCHED
|
||||
openair1/SIMULATION/ETH_TRANSPORT
|
||||
openair1/SIMULATION/LTE_PHY
|
||||
openair1/SIMULATION/RF
|
||||
openair1/SIMULATION/TOOLS
|
||||
openair2/COMMON
|
||||
openair2/DOCS/TEMPLATES/CODE
|
||||
openair2/ENB_APP
|
||||
openair2/LAYER2
|
||||
openair2/LAYER2/MAC
|
||||
openair2/LAYER2/PDCP_v10.1.0
|
||||
openair2/LAYER2/RLC
|
||||
openair2/LAYER2/RLC/AM_v9.3.0
|
||||
openair2/LAYER2/RLC/TM_v9.3.0
|
||||
openair2/LAYER2/RLC/UM_v9.3.0
|
||||
openair2/NAS
|
||||
openair2/NAS/DRIVER/CELLULAR/CTL_TOOL
|
||||
openair2/NAS/DRIVER/CELLULAR/NASMT
|
||||
openair2/NAS/DRIVER/CELLULAR/NASRG
|
||||
openair2/NAS/SIMU_CELLULAR
|
||||
openair2/NETWORK_DRIVER/LITE
|
||||
openair2/NETWORK_DRIVER/MESH
|
||||
openair2/NETWORK_DRIVER/UE_IP
|
||||
openair2/PHY_INTERFACE
|
||||
openair2/RRC/L2_INTERFACE
|
||||
openair2/RRC/LITE
|
||||
openair2/RRC/LITE/MESSAGES
|
||||
openair2/RRC/NAS
|
||||
openair2/RRM_4_RRC_LITE/src
|
||||
openair2/RRM_4_RRC_LITE/src/com
|
||||
openair2/RRM_4_RRC_LITE/src/com/rrc
|
||||
openair2/RRM_4_RRC_LITE/src/com/rrm
|
||||
openair2/RRM_4_RRC_LITE/src/foreign/sockets-2.3.9.4
|
||||
openair2/RRM_4_RRC_LITE/src/foreign/sql
|
||||
openair2/RRM_4_RRC_LITE/src/foreign/tcpip
|
||||
openair2/RRM_4_RRC_LITE/src/radio_resources
|
||||
openair2/RRM_4_RRC_LITE/src/test
|
||||
openair2/UTIL
|
||||
openair2/UTIL/AT_COMMANDS
|
||||
openair2/UTIL/BIGPHYS
|
||||
openair2/UTIL/CLI
|
||||
openair2/UTIL/FIFO
|
||||
openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/inc
|
||||
openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src
|
||||
openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_abstraction
|
||||
openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_freelist
|
||||
openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_liblfds
|
||||
openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_queue
|
||||
openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_ringbuffer
|
||||
openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_slist
|
||||
openair2/UTIL/LFDS/liblfds6.1.1/liblfds611/src/lfds611_stack
|
||||
openair2/UTIL/LFDS/liblfds6.1.1/test/src
|
||||
openair2/UTIL/LISTS
|
||||
openair2/UTIL/LOG
|
||||
openair2/UTIL/MATH
|
||||
openair2/UTIL/MEM
|
||||
openair2/UTIL/OCG
|
||||
openair2/UTIL/OMG
|
||||
openair2/UTIL/OMV
|
||||
openair2/UTIL/OPT
|
||||
openair2/UTIL/OSA
|
||||
openair2/UTIL/OTG
|
||||
openair2/UTIL/TIMER
|
||||
openair2/UTIL/TRACE
|
||||
openair2/X2AP
|
||||
openair3/DOCS/TEMPLATES/CODE
|
||||
openair3/MESH
|
||||
openair3/MESH/RRM
|
||||
openair3/MESH/RRM/EMUL
|
||||
openair3/MESH/RRM/GRAPH
|
||||
openair3/PMIPv6/freeradius-client-1.1.6
|
||||
openair3/PMIPv6/freeradius-client-1.1.6/include
|
||||
openair3/PMIPv6/freeradius-client-1.1.6/lib
|
||||
openair3/PMIPv6/freeradius-client-1.1.6/src
|
||||
openair3/PMIPv6/pmipv6-daemon-umip/include
|
||||
openair3/PMIPv6/pmipv6-daemon-umip/include/linux
|
||||
openair3/PMIPv6/pmipv6-daemon-umip/include/netinet
|
||||
openair3/PMIPv6/pmipv6-daemon-umip/src
|
||||
openair3/PMIPv6/pmipv6-daemon-umip/src/pmip
|
||||
openair3/RAL-LTE/INTERFACE-802.21/INCLUDE
|
||||
openair3/RAL-LTE/LTE_RAL_ENB/INCLUDE
|
||||
openair3/RAL-LTE/LTE_RAL_UE/INCLUDE
|
||||
openair3/RAL-LTE/RAL-DUMMY/INCLUDE
|
||||
openairITS/mac/DOT11/include/crypto
|
||||
openairITS/mac/DOT11/include/linux
|
||||
openairITS/mac/DOT11/include/linux/bcma
|
||||
openairITS/mac/DOT11/include/linux/spi
|
||||
openairITS/mac/DOT11/include/linux/ssb
|
||||
openairITS/mac/DOT11/include/linux/unaligned
|
||||
openairITS/mac/DOT11/include/linux/usb
|
||||
openairITS/mac/DOT11/include/N/pcmcia
|
||||
openairITS/mac/DOT11/include/N/trace
|
||||
openairITS/mac/DOT11/include/net
|
||||
openairITS/mac/DOT11/net/mac80211
|
||||
openairITS/mac/DOT11/net/wireless
|
||||
openairITS/phy/DOT11
|
||||
openairITS/phy/DRIVERS
|
||||
targets/ARCH/BLADERF/USERSPACE/LIB
|
||||
targets/ARCH/COMMON
|
||||
targets/ARCH/ETHERNET/USERSPACE/LIB
|
||||
targets/ARCH/EXMIMO/DEFS
|
||||
targets/ARCH/EXMIMO/DRIVER/eurecom
|
||||
targets/ARCH/EXMIMO/DRIVER/exmimo3
|
||||
targets/ARCH/EXMIMO/DRIVER/telecomparistech
|
||||
targets/ARCH/EXMIMO/USERSPACE/LIB
|
||||
targets/ARCH/EXMIMO/USERSPACE/OAI_FW_INIT
|
||||
targets/COMMON
|
||||
targets/RT/USER
|
||||
targets/RT/USER/TOOLS
|
||||
targets/SIMU/PROC
|
||||
targets/SIMU/USER
|
||||
targets/TEST/PDCP
|
||||
targets/TEST/ROHDE_SCHWARZ
|
||||
@@ -425,7 +425,7 @@ void getRepetition(UE_TEMPLATE * pue_template,unsigned int *maxRep , unsigned i
|
||||
|
||||
AssertFatal(epdcch_setconfig_r11->ext2 && epdcch_setconfig_r11->ext2->mpdcch_config_r13 ," mpdcch config not found") ;
|
||||
|
||||
*maxRep = epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.csi_NumRepetitionCE_r13 ;
|
||||
*maxRep = epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_NumRepetition_r13 ;
|
||||
|
||||
* narrowBandindex = epdcch_setconfig_r11->ext2->mpdcch_config_r13->choice.setup.mpdcch_Narrowband_r13 ;
|
||||
|
||||
@@ -461,7 +461,7 @@ void getRepetition(UE_TEMPLATE * pue_template,unsigned int *maxRep , unsigned i
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
|
||||
void
|
||||
schedule_ue_spec_br(
|
||||
@@ -601,6 +601,8 @@ schedule_ue_spec_br(
|
||||
for (UE_id = UE_list->head; UE_id >= 0; UE_id = UE_list->next[UE_id])
|
||||
{
|
||||
|
||||
if (!UE_list->UE_template[CC_id][UE_id].rach_resource_type ) // do the following scheduling only if the UE is emtc
|
||||
continue ;
|
||||
|
||||
continue_flag = 0; // reset the flag to allow allocation for the remaining UEs
|
||||
rnti = UE_RNTI(module_idP, UE_id);
|
||||
@@ -776,26 +778,26 @@ schedule_ue_spec_br(
|
||||
vrb_map[first_rb + 5] = 1;
|
||||
|
||||
if ((UE_list->UE_template[CC_id][UE_id].mpdcch_repetition_cnt == 0) &&
|
||||
(mpdcch_sf_condition(eNB, CC_idP, frameP, subframeP, rmax, TYPEUESPEC) > 0))
|
||||
(mpdcch_sf_condition(eNB, CC_id, frameP, subframeP, rmax, TYPEUESPEC) > 0))
|
||||
{
|
||||
// MPDCCH configuration for RAR
|
||||
dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu];
|
||||
memset((void*)dl_config_pdu, 0, sizeof(nfapi_dl_config_request_pdu_t));
|
||||
dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_MPDCCH_PDU_TYPE;
|
||||
dl_config_pdu->pdu_size = (uint8_t)(2 + sizeof(nfapi_dl_config_mpdcch_pdu));
|
||||
dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.dci_format = (UE_template[CC_id][UE_id].rach_resource_type > 1) ? 11 : 10;
|
||||
dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.dci_format = (UE_list->UE_template[CC_id][UE_id].rach_resource_type > 1) ? 11 : 10;
|
||||
dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mpdcch_narrow_band = narrowBandindex_index;
|
||||
dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.number_of_prb_pairs = 6;
|
||||
dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.resource_block_assignment = 0; // Note: this can be dynamic
|
||||
dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mpdcch_tansmission_type = 1; // imposed (9.1.5 in 213) for Type 2 Common search space
|
||||
AssertFatal(cc[CC_idP].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13 != NULL,
|
||||
AssertFatal(cc[CC_id].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13 != NULL,
|
||||
"cc[CC_id].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13 is null\n");
|
||||
dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.start_symbol = cc[CC_idP].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13->startSymbolBR_r13;
|
||||
dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.start_symbol = cc[CC_id].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13->startSymbolBR_r13;
|
||||
dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.ecce_index = 0; // Note: this should be dynamic
|
||||
dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.aggregation_level = 16; // OK for CEModeA r1-3 (9.1.5-1b) or CEModeB r1-4
|
||||
dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.rnti_type = 4; // other-RNTI
|
||||
dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.rnti = rnti;
|
||||
dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.ce_mode = (UE_template[CC_id][UE_id].rach_resource_type < 3) ? 1 : 2;
|
||||
dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.ce_mode = (UE_list->UE_template[CC_id][UE_id].rach_resource_type < 3) ? 1 : 2;
|
||||
dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.drms_scrambling_init = cc[CC_id].physCellId;
|
||||
dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.initial_transmission_sf_io = (frameP * 10) + subframeP;
|
||||
dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.transmission_power = 6000; // 0dB
|
||||
@@ -826,7 +828,7 @@ schedule_ue_spec_br(
|
||||
dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.direct_indication = 0;
|
||||
dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.total_dci_length_including_padding = 0; // this is not needed by OAI L1, but should be filled in
|
||||
dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.number_of_tx_antenna_ports = 1;
|
||||
UE_template[CC_id][UE_id].mpdcch_repetition_cnt++;
|
||||
UE_list->UE_template[CC_id][UE_id].mpdcch_repetition_cnt++;
|
||||
dl_req->number_pdu++;
|
||||
|
||||
|
||||
@@ -846,31 +848,31 @@ schedule_ue_spec_br(
|
||||
S_DL_SCHEDULED);
|
||||
|
||||
} //repetition_count==0 && SF condition met
|
||||
else if (UE_template[CC_id][UE_id].msg2_mpdcch_repetition_cnt > 0)
|
||||
else if (UE_list->UE_template[CC_id][UE_id].mpdcch_repetition_cnt > 0)
|
||||
{
|
||||
// we're in a stream of repetitions
|
||||
UE_template[CC_id][UE_id].mpdcch_repetition_cnt++;
|
||||
if (UE_template[CC_id][UE_id].mpdcch_repetition_cnt == reps)
|
||||
UE_list->UE_template[CC_id][UE_id].mpdcch_repetition_cnt++;
|
||||
if (UE_list->UE_template[CC_id][UE_id].mpdcch_repetition_cnt == reps)
|
||||
{
|
||||
// this is the last mpdcch repetition
|
||||
if (cc[CC_idP].tdd_Config == NULL) { // FDD case
|
||||
if (cc[CC_id].tdd_Config == NULL) { // FDD case
|
||||
// wait 2 subframes for PDSCH transmission
|
||||
if (subframeP > 7) UE_template[CC_id][UE_id].Msg2_frame = (frameP + 1) & 1023;
|
||||
else UE_template[CC_id][UE_id].Msg2_frame = frameP;
|
||||
UE_template[CC_id][UE_id].Msg2_subframe = (subframeP + 2) % 10; // +2 is the "n+x" from Section 7.1.11 in 36.213
|
||||
if (subframeP > 7) UE_list->UE_template[CC_id][UE_id].Msg2_frame = (frameP + 1) & 1023;
|
||||
else UE_list->UE_template[CC_id][UE_id].Msg2_frame = frameP;
|
||||
UE_list->UE_template[CC_id][UE_id].Msg2_subframe = (subframeP + 2) % 10; // +2 is the "n+x" from Section 7.1.11 in 36.213
|
||||
}
|
||||
else {
|
||||
AssertFatal(1 == 0, "TDD case not done yet\n");
|
||||
}
|
||||
} // mpdcch_repetition_count == reps
|
||||
if ((UE_template[CC_id][UE_id].Msg2_frame == frameP) && (UE_template[CC_id][UE_id].Msg2_subframe == subframeP)) {
|
||||
if ((UE_list->UE_template[CC_id][UE_id].Msg2_frame == frameP) && (UE_list->UE_template[CC_id][UE_id].Msg2_subframe == subframeP)) {
|
||||
// Program PDSCH
|
||||
|
||||
dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu];
|
||||
memset((void*)dl_config_pdu, 0, sizeof(nfapi_dl_config_request_pdu_t));
|
||||
dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_DLSCH_PDU_TYPE;
|
||||
dl_config_pdu->pdu_size = (uint8_t)(2 + sizeof(nfapi_dl_config_dlsch_pdu));
|
||||
dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.pdu_index = eNB->pdu_index[CC_idP];
|
||||
dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.pdu_index = eNB->pdu_index[CC_id];
|
||||
dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.rnti = rnti;
|
||||
dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.resource_allocation_type = 4; // format 6-1A
|
||||
dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.virtual_resource_block_assignment_flag = 0; // localized
|
||||
@@ -893,7 +895,7 @@ schedule_ue_spec_br(
|
||||
dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.num_bf_vector = 1;
|
||||
// dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.bf_vector = ;
|
||||
|
||||
dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.ue_type = (UE_template[CC_id][UE_id].rach_resource_type < 3) ? 1 : 2;;
|
||||
dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.ue_type = (UE_list->UE_template[CC_id][UE_id].rach_resource_type < 3) ? 1 : 2;;
|
||||
dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.pdsch_payload_type = 2; // not SI message
|
||||
dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.initial_transmission_sf_io = (10 * frameP) + subframeP;
|
||||
dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.drms_table_flag = 0;
|
||||
@@ -956,6 +958,9 @@ schedule_ue_spec_br(
|
||||
rlc_status.bytes_in_buffer = 0;
|
||||
// Now check RLC information to compute number of required RBs
|
||||
// get maximum TBS size for RLC request
|
||||
|
||||
|
||||
|
||||
TBS = 408;
|
||||
// check first for RLC data on DCCH
|
||||
// add the length for all the control elements (timing adv, drx, etc) : header + payload
|
||||
@@ -1155,9 +1160,12 @@ schedule_ue_spec_br(
|
||||
//else {
|
||||
// nb_rb = min_rb_unit[CC_id];
|
||||
//}
|
||||
|
||||
//[khalid]: maximum MCS (7 or 15) depend on the DCI formate used from UE_list->UE_template[CC_id [UE_id].rach_resource_type
|
||||
|
||||
mcs = 4;
|
||||
nb_rb = 6;
|
||||
|
||||
|
||||
|
||||
TBS = 408;//get_TBS_DL(mcs, nb_rb);
|
||||
|
||||
@@ -1368,7 +1376,7 @@ schedule_ue_spec_br(
|
||||
unsigned int first_rb, rep, reps;
|
||||
|
||||
// rmax from RRC connection setup
|
||||
getRepetition(&UE_template[CC_id][UE_id], &rmax, &narrowBandindex_index, &first_rb);
|
||||
getRepetition(&UE_list->UE_template[CC_id][UE_id], &rmax, &narrowBandindex_index, &first_rb);
|
||||
|
||||
// choose r3 by default for RAR (Table 9.1.5-5)
|
||||
rep = 2;
|
||||
@@ -1384,28 +1392,28 @@ schedule_ue_spec_br(
|
||||
vrb_map[first_rb + 4] = 1;
|
||||
vrb_map[first_rb + 5] = 1;
|
||||
|
||||
if ((UE_template[CC_id][UE_id].mpdcch_repetition_cnt == 0) &&
|
||||
(mpdcch_sf_condition(eNB, CC_idP, frameP, subframeP, rmax, TYPEUESPEC) > 0))
|
||||
if ((UE_list->UE_template[CC_id][UE_id].mpdcch_repetition_cnt == 0) &&
|
||||
(mpdcch_sf_condition(eNB, CC_id, frameP, subframeP, rmax, TYPEUESPEC) > 0))
|
||||
{
|
||||
// MPDCCH configuration for RAR
|
||||
dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu];
|
||||
memset((void*)dl_config_pdu, 0, sizeof(nfapi_dl_config_request_pdu_t));
|
||||
dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_MPDCCH_PDU_TYPE;
|
||||
dl_config_pdu->pdu_size = (uint8_t)(2 + sizeof(nfapi_dl_config_mpdcch_pdu));
|
||||
dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.dci_format = (UE_template[CC_id][UE_id].rach_resource_type > 1) ? 11 : 10;
|
||||
dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.dci_format = (UE_list->UE_template[CC_id][UE_id].rach_resource_type > 1) ? 11 : 10;
|
||||
dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mpdcch_narrow_band = narrowBandindex_index;
|
||||
dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.number_of_prb_pairs = 6;
|
||||
dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.resource_block_assignment = 0; // Note: this can be dynamic
|
||||
dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.mpdcch_tansmission_type = 1; // imposed (9.1.5 in 213) for Type 2 Common search space
|
||||
AssertFatal(cc[CC_idP].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13 != NULL,
|
||||
AssertFatal(cc[CC_id].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13 != NULL,
|
||||
"cc[CC_id].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13 is null\n");
|
||||
dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.start_symbol = cc[CC_idP].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13->startSymbolBR_r13;
|
||||
dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.start_symbol = cc[CC_id].sib1_v13ext->bandwidthReducedAccessRelatedInfo_r13->startSymbolBR_r13;
|
||||
dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.ecce_index = 0; // Note: this should be dynamic
|
||||
dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.aggregation_level = 16; // OK for CEModeA r1-3 (9.1.5-1b) or CEModeB r1-4
|
||||
dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.rnti_type = 4; // other-RNTI
|
||||
dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.rnti = rnti;
|
||||
dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.ce_mode = (UE_template[CC_id][UE_id].rach_resource_type < 3) ? 1 : 2;
|
||||
dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.drms_scrambling_init = cc[CC_idP].physCellId;
|
||||
dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.ce_mode = (UE_list->UE_template[CC_id][UE_id].rach_resource_type < 3) ? 1 : 2;
|
||||
dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.drms_scrambling_init = cc[CC_id].physCellId;
|
||||
dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.initial_transmission_sf_io = (frameP * 10) + subframeP;
|
||||
dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.transmission_power = 6000; // 0dB
|
||||
dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.resource_block_coding = getRIV(6, 0, 6); // Note: still to be checked if it should not be (getRIV(N_RB_DL,first_rb,6)) : Check nFAPI specifications and what is done L1 with this parameter
|
||||
@@ -1435,7 +1443,7 @@ schedule_ue_spec_br(
|
||||
dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.direct_indication = 0;
|
||||
dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.total_dci_length_including_padding = 0; // this is not needed by OAI L1, but should be filled in
|
||||
dl_config_pdu->mpdcch_pdu.mpdcch_pdu_rel13.number_of_tx_antenna_ports = 1;
|
||||
UE_template[CC_id][UE_id].mpdcch_repetition_cnt++;
|
||||
UE_list->UE_template[CC_id][UE_id].mpdcch_repetition_cnt++;
|
||||
dl_req->number_pdu++;
|
||||
|
||||
|
||||
@@ -1458,31 +1466,31 @@ schedule_ue_spec_br(
|
||||
eNB->TX_req[CC_id].tx_request_body.number_of_pdus++;
|
||||
|
||||
} //repetition_count==0 && SF condition met
|
||||
else if (UE_template[CC_id][UE_id].msg2_mpdcch_repetition_cnt > 0)
|
||||
else if (UE_list->UE_template[CC_id][UE_id].mpdcch_repetition_cnt > 0)
|
||||
{
|
||||
// we're in a stream of repetitions
|
||||
UE_template[CC_id][UE_id].mpdcch_repetition_cnt++;
|
||||
if (UE_template[CC_id][UE_id].mpdcch_repetition_cnt == reps)
|
||||
UE_list->UE_template[CC_id][UE_id].mpdcch_repetition_cnt++;
|
||||
if (UE_list->UE_template[CC_id][UE_id].mpdcch_repetition_cnt == reps)
|
||||
{
|
||||
// this is the last mpdcch repetition
|
||||
if (cc[CC_idP].tdd_Config == NULL) { // FDD case
|
||||
if (cc[CC_id].tdd_Config == NULL) { // FDD case
|
||||
// wait 2 subframes for PDSCH transmission
|
||||
if (subframeP > 7) UE_template[CC_id][UE_id].Msg2_frame = (frameP + 1) & 1023;
|
||||
else UE_template[CC_id][UE_id].Msg2_frame = frameP;
|
||||
UE_template[CC_id][UE_id].Msg2_subframe = (subframeP + 2) % 10; // +2 is the "n+x" from Section 7.1.11 in 36.213
|
||||
if (subframeP > 7) UE_list->UE_template[CC_id][UE_id].Msg2_frame = (frameP + 1) & 1023;
|
||||
else UE_list->UE_template[CC_id][UE_id].Msg2_frame = frameP;
|
||||
UE_list->UE_template[CC_id][UE_id].Msg2_subframe = (subframeP + 2) % 10; // +2 is the "n+x" from Section 7.1.11 in 36.213
|
||||
}
|
||||
else {
|
||||
AssertFatal(1 == 0, "TDD case not done yet\n");
|
||||
}
|
||||
} // mpdcch_repetition_count == reps
|
||||
if ((UE_template[CC_id][UE_id].Msg2_frame == frameP) && (UE_template[CC_id][UE_id].Msg2_subframe == subframeP)) {
|
||||
if ((UE_list->UE_template[CC_id][UE_id].Msg2_frame == frameP) && (UE_list->UE_template[CC_id][UE_id].Msg2_subframe == subframeP)) {
|
||||
// Program PDSCH
|
||||
|
||||
dl_config_pdu = &dl_req->dl_config_pdu_list[dl_req->number_pdu];
|
||||
memset((void*)dl_config_pdu, 0, sizeof(nfapi_dl_config_request_pdu_t));
|
||||
dl_config_pdu->pdu_type = NFAPI_DL_CONFIG_DLSCH_PDU_TYPE;
|
||||
dl_config_pdu->pdu_size = (uint8_t)(2 + sizeof(nfapi_dl_config_dlsch_pdu));
|
||||
dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.pdu_index = eNB->pdu_index[CC_idP];
|
||||
dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.pdu_index = eNB->pdu_index[CC_id];
|
||||
dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.rnti = rnti;
|
||||
dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.resource_allocation_type = 4; // format 6-1A
|
||||
dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.virtual_resource_block_assignment_flag = 0; // localized
|
||||
@@ -1505,7 +1513,7 @@ schedule_ue_spec_br(
|
||||
dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.num_bf_vector = 1;
|
||||
// dl_config_pdu->dlsch_pdu.dlsch_pdu_rel8.bf_vector = ;
|
||||
|
||||
dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.ue_type = (UE_template[CC_id][UE_id].rach_resource_type < 3) ? 1 : 2;;
|
||||
dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.ue_type = (UE_list->UE_template[CC_id][UE_id].rach_resource_type < 3) ? 1 : 2;;
|
||||
dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.pdsch_payload_type = 2; // not SI message
|
||||
dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.initial_transmission_sf_io = (10 * frameP) + subframeP;
|
||||
dl_config_pdu->dlsch_pdu.dlsch_pdu_rel13.drms_table_flag = 0;
|
||||
@@ -1574,7 +1582,7 @@ schedule_ue_spec_br(
|
||||
|
||||
}
|
||||
|
||||
*/
|
||||
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
void
|
||||
|
||||
Reference in New Issue
Block a user