changes to allow pdsch typeb in sib1
This commit is contained in:
@@ -92,6 +92,5 @@ uint8_t get_l0(uint16_t dlDmrsSymbPos) {
|
|||||||
if ((mask&1) == 1) break;
|
if ((mask&1) == 1) break;
|
||||||
mask>>=1;
|
mask>>=1;
|
||||||
}
|
}
|
||||||
AssertFatal(l0 < 4,"impossible l0 %d\n",l0);
|
|
||||||
return (l0);
|
return (l0);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -315,21 +315,21 @@ void get_info_from_tda_tables(int default_abc,
|
|||||||
int tda,
|
int tda,
|
||||||
int dmrs_TypeA_Position,
|
int dmrs_TypeA_Position,
|
||||||
int normal_CP,
|
int normal_CP,
|
||||||
|
bool *is_mapping_typeA,
|
||||||
int *startSymbolIndex,
|
int *startSymbolIndex,
|
||||||
int *nrOfSymbols) {
|
int *nrOfSymbols) {
|
||||||
int k0 = 0;
|
int k0 = 0;
|
||||||
int is_mapping_typeA = 1;
|
|
||||||
switch(default_abc){
|
switch(default_abc){
|
||||||
case 1:
|
case 1:
|
||||||
if (normal_CP){
|
if (normal_CP){
|
||||||
if (dmrs_TypeA_Position){
|
if (dmrs_TypeA_Position){
|
||||||
is_mapping_typeA = table_5_1_2_1_1_2_time_dom_res_alloc_A_dmrs_typeA_pos3[tda][0];
|
*is_mapping_typeA = table_5_1_2_1_1_2_time_dom_res_alloc_A_dmrs_typeA_pos3[tda][0];
|
||||||
k0 = table_5_1_2_1_1_2_time_dom_res_alloc_A_dmrs_typeA_pos3[tda][1];
|
k0 = table_5_1_2_1_1_2_time_dom_res_alloc_A_dmrs_typeA_pos3[tda][1];
|
||||||
*startSymbolIndex = table_5_1_2_1_1_2_time_dom_res_alloc_A_dmrs_typeA_pos3[tda][2];
|
*startSymbolIndex = table_5_1_2_1_1_2_time_dom_res_alloc_A_dmrs_typeA_pos3[tda][2];
|
||||||
*nrOfSymbols = table_5_1_2_1_1_2_time_dom_res_alloc_A_dmrs_typeA_pos3[tda][3];
|
*nrOfSymbols = table_5_1_2_1_1_2_time_dom_res_alloc_A_dmrs_typeA_pos3[tda][3];
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
is_mapping_typeA = table_5_1_2_1_1_2_time_dom_res_alloc_A_dmrs_typeA_pos2[tda][0];
|
*is_mapping_typeA = table_5_1_2_1_1_2_time_dom_res_alloc_A_dmrs_typeA_pos2[tda][0];
|
||||||
k0 = table_5_1_2_1_1_2_time_dom_res_alloc_A_dmrs_typeA_pos2[tda][1];
|
k0 = table_5_1_2_1_1_2_time_dom_res_alloc_A_dmrs_typeA_pos2[tda][1];
|
||||||
*startSymbolIndex = table_5_1_2_1_1_2_time_dom_res_alloc_A_dmrs_typeA_pos2[tda][2];
|
*startSymbolIndex = table_5_1_2_1_1_2_time_dom_res_alloc_A_dmrs_typeA_pos2[tda][2];
|
||||||
*nrOfSymbols = table_5_1_2_1_1_2_time_dom_res_alloc_A_dmrs_typeA_pos2[tda][3];
|
*nrOfSymbols = table_5_1_2_1_1_2_time_dom_res_alloc_A_dmrs_typeA_pos2[tda][3];
|
||||||
@@ -337,13 +337,13 @@ void get_info_from_tda_tables(int default_abc,
|
|||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
if (dmrs_TypeA_Position){
|
if (dmrs_TypeA_Position){
|
||||||
is_mapping_typeA = table_5_1_2_1_1_3_time_dom_res_alloc_A_extCP_dmrs_typeA_pos3[tda][0];
|
*is_mapping_typeA = table_5_1_2_1_1_3_time_dom_res_alloc_A_extCP_dmrs_typeA_pos3[tda][0];
|
||||||
k0 = table_5_1_2_1_1_3_time_dom_res_alloc_A_extCP_dmrs_typeA_pos3[tda][1];
|
k0 = table_5_1_2_1_1_3_time_dom_res_alloc_A_extCP_dmrs_typeA_pos3[tda][1];
|
||||||
*startSymbolIndex = table_5_1_2_1_1_3_time_dom_res_alloc_A_extCP_dmrs_typeA_pos3[tda][2];
|
*startSymbolIndex = table_5_1_2_1_1_3_time_dom_res_alloc_A_extCP_dmrs_typeA_pos3[tda][2];
|
||||||
*nrOfSymbols = table_5_1_2_1_1_3_time_dom_res_alloc_A_extCP_dmrs_typeA_pos3[tda][3];
|
*nrOfSymbols = table_5_1_2_1_1_3_time_dom_res_alloc_A_extCP_dmrs_typeA_pos3[tda][3];
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
is_mapping_typeA = table_5_1_2_1_1_3_time_dom_res_alloc_A_extCP_dmrs_typeA_pos2[tda][0];
|
*is_mapping_typeA = table_5_1_2_1_1_3_time_dom_res_alloc_A_extCP_dmrs_typeA_pos2[tda][0];
|
||||||
k0 = table_5_1_2_1_1_3_time_dom_res_alloc_A_extCP_dmrs_typeA_pos2[tda][1];
|
k0 = table_5_1_2_1_1_3_time_dom_res_alloc_A_extCP_dmrs_typeA_pos2[tda][1];
|
||||||
*startSymbolIndex = table_5_1_2_1_1_3_time_dom_res_alloc_A_extCP_dmrs_typeA_pos2[tda][2];
|
*startSymbolIndex = table_5_1_2_1_1_3_time_dom_res_alloc_A_extCP_dmrs_typeA_pos2[tda][2];
|
||||||
*nrOfSymbols = table_5_1_2_1_1_3_time_dom_res_alloc_A_extCP_dmrs_typeA_pos2[tda][3];
|
*nrOfSymbols = table_5_1_2_1_1_3_time_dom_res_alloc_A_extCP_dmrs_typeA_pos2[tda][3];
|
||||||
@@ -352,13 +352,13 @@ void get_info_from_tda_tables(int default_abc,
|
|||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
if (dmrs_TypeA_Position){
|
if (dmrs_TypeA_Position){
|
||||||
is_mapping_typeA = table_5_1_2_1_1_4_time_dom_res_alloc_B_dmrs_typeA_pos3[tda][0];
|
*is_mapping_typeA = table_5_1_2_1_1_4_time_dom_res_alloc_B_dmrs_typeA_pos3[tda][0];
|
||||||
k0 = table_5_1_2_1_1_4_time_dom_res_alloc_B_dmrs_typeA_pos3[tda][1];
|
k0 = table_5_1_2_1_1_4_time_dom_res_alloc_B_dmrs_typeA_pos3[tda][1];
|
||||||
*startSymbolIndex = table_5_1_2_1_1_4_time_dom_res_alloc_B_dmrs_typeA_pos3[tda][2];
|
*startSymbolIndex = table_5_1_2_1_1_4_time_dom_res_alloc_B_dmrs_typeA_pos3[tda][2];
|
||||||
*nrOfSymbols = table_5_1_2_1_1_4_time_dom_res_alloc_B_dmrs_typeA_pos3[tda][3];
|
*nrOfSymbols = table_5_1_2_1_1_4_time_dom_res_alloc_B_dmrs_typeA_pos3[tda][3];
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
is_mapping_typeA = table_5_1_2_1_1_4_time_dom_res_alloc_B_dmrs_typeA_pos2[tda][0];
|
*is_mapping_typeA = table_5_1_2_1_1_4_time_dom_res_alloc_B_dmrs_typeA_pos2[tda][0];
|
||||||
k0 = table_5_1_2_1_1_4_time_dom_res_alloc_B_dmrs_typeA_pos2[tda][1];
|
k0 = table_5_1_2_1_1_4_time_dom_res_alloc_B_dmrs_typeA_pos2[tda][1];
|
||||||
*startSymbolIndex = table_5_1_2_1_1_4_time_dom_res_alloc_B_dmrs_typeA_pos2[tda][2];
|
*startSymbolIndex = table_5_1_2_1_1_4_time_dom_res_alloc_B_dmrs_typeA_pos2[tda][2];
|
||||||
*nrOfSymbols = table_5_1_2_1_1_4_time_dom_res_alloc_B_dmrs_typeA_pos2[tda][3];
|
*nrOfSymbols = table_5_1_2_1_1_4_time_dom_res_alloc_B_dmrs_typeA_pos2[tda][3];
|
||||||
@@ -366,13 +366,13 @@ void get_info_from_tda_tables(int default_abc,
|
|||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
if (dmrs_TypeA_Position){
|
if (dmrs_TypeA_Position){
|
||||||
is_mapping_typeA = table_5_1_2_1_1_5_time_dom_res_alloc_C_dmrs_typeA_pos3[tda][0];
|
*is_mapping_typeA = table_5_1_2_1_1_5_time_dom_res_alloc_C_dmrs_typeA_pos3[tda][0];
|
||||||
k0 = table_5_1_2_1_1_5_time_dom_res_alloc_C_dmrs_typeA_pos3[tda][1];
|
k0 = table_5_1_2_1_1_5_time_dom_res_alloc_C_dmrs_typeA_pos3[tda][1];
|
||||||
*startSymbolIndex = table_5_1_2_1_1_5_time_dom_res_alloc_C_dmrs_typeA_pos3[tda][2];
|
*startSymbolIndex = table_5_1_2_1_1_5_time_dom_res_alloc_C_dmrs_typeA_pos3[tda][2];
|
||||||
*nrOfSymbols = table_5_1_2_1_1_5_time_dom_res_alloc_C_dmrs_typeA_pos3[tda][3];
|
*nrOfSymbols = table_5_1_2_1_1_5_time_dom_res_alloc_C_dmrs_typeA_pos3[tda][3];
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
is_mapping_typeA = table_5_1_2_1_1_5_time_dom_res_alloc_C_dmrs_typeA_pos2[tda][0];
|
*is_mapping_typeA = table_5_1_2_1_1_5_time_dom_res_alloc_C_dmrs_typeA_pos2[tda][0];
|
||||||
k0 = table_5_1_2_1_1_5_time_dom_res_alloc_C_dmrs_typeA_pos2[tda][1];
|
k0 = table_5_1_2_1_1_5_time_dom_res_alloc_C_dmrs_typeA_pos2[tda][1];
|
||||||
*startSymbolIndex = table_5_1_2_1_1_5_time_dom_res_alloc_C_dmrs_typeA_pos2[tda][2];
|
*startSymbolIndex = table_5_1_2_1_1_5_time_dom_res_alloc_C_dmrs_typeA_pos2[tda][2];
|
||||||
*nrOfSymbols = table_5_1_2_1_1_5_time_dom_res_alloc_C_dmrs_typeA_pos2[tda][3];
|
*nrOfSymbols = table_5_1_2_1_1_5_time_dom_res_alloc_C_dmrs_typeA_pos2[tda][3];
|
||||||
@@ -382,7 +382,6 @@ void get_info_from_tda_tables(int default_abc,
|
|||||||
AssertFatal(1==0,"Invalid default time domaing allocation type\n");
|
AssertFatal(1==0,"Invalid default time domaing allocation type\n");
|
||||||
}
|
}
|
||||||
AssertFatal(k0==0,"Only k0 = 0 is supported\n");
|
AssertFatal(k0==0,"Only k0 = 0 is supported\n");
|
||||||
AssertFatal(is_mapping_typeA==1,"Only mapping type A is currently supported\n");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *prachfmt[]={"0","1","2","3", "A1","A2","A3","B1","B4","C0","C2","A1/B1","A2/B2","A3/B3"};
|
const char *prachfmt[]={"0","1","2","3", "A1","A2","A3","B1","B4","C0","C2","A1/B1","A2/B2","A3/B3"};
|
||||||
|
|||||||
@@ -138,6 +138,7 @@ void get_info_from_tda_tables(int default_abc,
|
|||||||
int tda,
|
int tda,
|
||||||
int dmrs_TypeA_Position,
|
int dmrs_TypeA_Position,
|
||||||
int normal_CP,
|
int normal_CP,
|
||||||
|
bool *is_mapping_typeA,
|
||||||
int *startSymbolIndex,
|
int *startSymbolIndex,
|
||||||
int *nrOfSymbols);
|
int *nrOfSymbols);
|
||||||
|
|
||||||
|
|||||||
@@ -271,6 +271,7 @@ int8_t nr_ue_process_dci_time_dom_resource_assignment(NR_UE_MAC_INST_t *mac,
|
|||||||
NR_PDSCH_TimeDomainResourceAllocationList_t *pdsch_TimeDomainAllocationList,
|
NR_PDSCH_TimeDomainResourceAllocationList_t *pdsch_TimeDomainAllocationList,
|
||||||
nfapi_nr_ue_pusch_pdu_t *pusch_config_pdu,
|
nfapi_nr_ue_pusch_pdu_t *pusch_config_pdu,
|
||||||
fapi_nr_dl_config_dlsch_pdu_rel15_t *dlsch_config_pdu,
|
fapi_nr_dl_config_dlsch_pdu_rel15_t *dlsch_config_pdu,
|
||||||
|
int *mappingtype,
|
||||||
uint8_t time_domain_ind,
|
uint8_t time_domain_ind,
|
||||||
int default_abc,
|
int default_abc,
|
||||||
bool use_default);
|
bool use_default);
|
||||||
|
|||||||
@@ -470,6 +470,7 @@ int8_t nr_ue_process_dci_time_dom_resource_assignment(NR_UE_MAC_INST_t *mac,
|
|||||||
NR_PDSCH_TimeDomainResourceAllocationList_t *pdsch_TimeDomainAllocationList,
|
NR_PDSCH_TimeDomainResourceAllocationList_t *pdsch_TimeDomainAllocationList,
|
||||||
nfapi_nr_ue_pusch_pdu_t *pusch_config_pdu,
|
nfapi_nr_ue_pusch_pdu_t *pusch_config_pdu,
|
||||||
fapi_nr_dl_config_dlsch_pdu_rel15_t *dlsch_config_pdu,
|
fapi_nr_dl_config_dlsch_pdu_rel15_t *dlsch_config_pdu,
|
||||||
|
int *mapping_type,
|
||||||
uint8_t time_domain_ind,
|
uint8_t time_domain_ind,
|
||||||
int default_abc,
|
int default_abc,
|
||||||
bool use_default){
|
bool use_default){
|
||||||
@@ -547,13 +548,15 @@ int8_t nr_ue_process_dci_time_dom_resource_assignment(NR_UE_MAC_INST_t *mac,
|
|||||||
}
|
}
|
||||||
else {// Default configuration from tables
|
else {// Default configuration from tables
|
||||||
|
|
||||||
|
bool is_typeA;
|
||||||
get_info_from_tda_tables(default_abc,
|
get_info_from_tda_tables(default_abc,
|
||||||
time_domain_ind,
|
time_domain_ind,
|
||||||
dmrs_typeA_pos,
|
dmrs_typeA_pos,
|
||||||
1, // normal CP
|
1, // normal CP
|
||||||
|
&is_typeA,
|
||||||
&sliv_S,
|
&sliv_S,
|
||||||
&sliv_L);
|
&sliv_L);
|
||||||
|
*mapping_type = is_typeA? typeA : typeB;
|
||||||
dlsch_config_pdu->number_symbols = sliv_L;
|
dlsch_config_pdu->number_symbols = sliv_L;
|
||||||
dlsch_config_pdu->start_symbol = sliv_S;
|
dlsch_config_pdu->start_symbol = sliv_S;
|
||||||
}
|
}
|
||||||
@@ -859,12 +862,17 @@ int8_t nr_ue_process_dci(module_id_t module_id, int cc_id, uint8_t gNB_index, fr
|
|||||||
else if (mac->scc_SIB && mac->scc_SIB->downlinkConfigCommon.initialDownlinkBWP.pdsch_ConfigCommon->choice.setup)
|
else if (mac->scc_SIB && mac->scc_SIB->downlinkConfigCommon.initialDownlinkBWP.pdsch_ConfigCommon->choice.setup)
|
||||||
pdsch_TimeDomainAllocationList = mac->scc_SIB->downlinkConfigCommon.initialDownlinkBWP.pdsch_ConfigCommon->choice.setup->pdsch_TimeDomainAllocationList;
|
pdsch_TimeDomainAllocationList = mac->scc_SIB->downlinkConfigCommon.initialDownlinkBWP.pdsch_ConfigCommon->choice.setup->pdsch_TimeDomainAllocationList;
|
||||||
|
|
||||||
|
int mappingtype;
|
||||||
/* TIME_DOM_RESOURCE_ASSIGNMENT */
|
/* TIME_DOM_RESOURCE_ASSIGNMENT */
|
||||||
if (nr_ue_process_dci_time_dom_resource_assignment(mac,NULL,pdsch_TimeDomainAllocationList,NULL,dlsch_config_pdu_1_0,dci->time_domain_assignment.val,default_abc,rnti==SI_RNTI) < 0) {
|
if (nr_ue_process_dci_time_dom_resource_assignment(mac,NULL,pdsch_TimeDomainAllocationList,
|
||||||
|
NULL,dlsch_config_pdu_1_0,&mappingtype,
|
||||||
|
dci->time_domain_assignment.val,
|
||||||
|
default_abc,rnti==SI_RNTI) < 0) {
|
||||||
LOG_W(MAC, "[%d.%d] Invalid time_domain_assignment. Possibly due to false DCI. Ignoring DCI!\n", frame, slot);
|
LOG_W(MAC, "[%d.%d] Invalid time_domain_assignment. Possibly due to false DCI. Ignoring DCI!\n", frame, slot);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
int mappingtype = pdsch_TimeDomainAllocationList ? pdsch_TimeDomainAllocationList->list.array[dci->time_domain_assignment.val]->mappingType : ((dlsch_config_pdu_1_0->start_symbol <= 3)? typeA: typeB);
|
if(pdsch_TimeDomainAllocationList && rnti!=SI_RNTI)
|
||||||
|
mappingtype = pdsch_TimeDomainAllocationList->list.array[dci->time_domain_assignment.val]->mappingType;
|
||||||
|
|
||||||
/* dmrs symbol positions*/
|
/* dmrs symbol positions*/
|
||||||
dlsch_config_pdu_1_0->dlDmrsSymbPos = fill_dmrs_mask(pdsch_config,
|
dlsch_config_pdu_1_0->dlDmrsSymbPos = fill_dmrs_mask(pdsch_config,
|
||||||
@@ -1054,13 +1062,16 @@ int8_t nr_ue_process_dci(module_id_t module_id, int cc_id, uint8_t gNB_index, fr
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
/* TIME_DOM_RESOURCE_ASSIGNMENT */
|
/* TIME_DOM_RESOURCE_ASSIGNMENT */
|
||||||
|
int mappingtype;
|
||||||
NR_PDSCH_TimeDomainResourceAllocationList_t *pdsch_TimeDomainAllocationList = choose_dl_tda_list(pdsch_Config,bwpc->pdsch_ConfigCommon->choice.setup);
|
NR_PDSCH_TimeDomainResourceAllocationList_t *pdsch_TimeDomainAllocationList = choose_dl_tda_list(pdsch_Config,bwpc->pdsch_ConfigCommon->choice.setup);
|
||||||
if (nr_ue_process_dci_time_dom_resource_assignment(mac,NULL,pdsch_TimeDomainAllocationList,NULL,dlsch_config_pdu_1_1,dci->time_domain_assignment.val,0,false) < 0) {
|
if (nr_ue_process_dci_time_dom_resource_assignment(mac,NULL,pdsch_TimeDomainAllocationList,
|
||||||
|
NULL,dlsch_config_pdu_1_1,&mappingtype,
|
||||||
|
dci->time_domain_assignment.val,0,false) < 0) {
|
||||||
LOG_W(MAC, "[%d.%d] Invalid time_domain_assignment. Possibly due to false DCI. Ignoring DCI!\n", frame, slot);
|
LOG_W(MAC, "[%d.%d] Invalid time_domain_assignment. Possibly due to false DCI. Ignoring DCI!\n", frame, slot);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
if(pdsch_TimeDomainAllocationList)
|
||||||
int mappingtype = pdsch_TimeDomainAllocationList ? pdsch_TimeDomainAllocationList->list.array[dci->time_domain_assignment.val]->mappingType : ((dlsch_config_pdu_1_1->start_symbol <= 3)? typeA: typeB);
|
mappingtype = pdsch_TimeDomainAllocationList->list.array[dci->time_domain_assignment.val]->mappingType;
|
||||||
|
|
||||||
/* dmrs symbol positions*/
|
/* dmrs symbol positions*/
|
||||||
dlsch_config_pdu_1_1->dlDmrsSymbPos = fill_dmrs_mask(pdsch_Config,
|
dlsch_config_pdu_1_1->dlDmrsSymbPos = fill_dmrs_mask(pdsch_Config,
|
||||||
|
|||||||
@@ -754,7 +754,7 @@ int nr_config_pusch_pdu(NR_UE_MAC_INST_t *mac,
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
/* TIME_DOM_RESOURCE_ASSIGNMENT */
|
/* TIME_DOM_RESOURCE_ASSIGNMENT */
|
||||||
if (nr_ue_process_dci_time_dom_resource_assignment(mac, pusch_TimeDomainAllocationList, NULL, pusch_config_pdu, NULL, dci->time_domain_assignment.val,0,false) < 0) {
|
if (nr_ue_process_dci_time_dom_resource_assignment(mac, pusch_TimeDomainAllocationList, NULL, pusch_config_pdu, NULL, NULL, dci->time_domain_assignment.val,0,false) < 0) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -384,7 +384,7 @@ uint32_t schedule_control_sib1(module_id_t module_id,
|
|||||||
int rbSize = 0;
|
int rbSize = 0;
|
||||||
uint32_t TBS = 0;
|
uint32_t TBS = 0;
|
||||||
do {
|
do {
|
||||||
if(rbSize < bwpSize && !vrb_map[rbStart + rbSize])
|
if(rbSize < bwpSize && !(vrb_map[rbStart + rbSize]&(((1<<nrOfSymbols)-1)<<startSymbolIndex)))
|
||||||
rbSize++;
|
rbSize++;
|
||||||
else{
|
else{
|
||||||
if (gNB_mac->sched_ctrlCommon->sched_pdsch.mcs<10)
|
if (gNB_mac->sched_ctrlCommon->sched_pdsch.mcs<10)
|
||||||
@@ -602,15 +602,15 @@ void schedule_nr_sib1(module_id_t module_idP, frame_t frameP, sub_frame_t slotP)
|
|||||||
|
|
||||||
int startSymbolIndex = 0;
|
int startSymbolIndex = 0;
|
||||||
int nrOfSymbols = 0;
|
int nrOfSymbols = 0;
|
||||||
|
bool is_typeA;
|
||||||
|
|
||||||
get_info_from_tda_tables(type0_PDCCH_CSS_config->type0_pdcch_ss_mux_pattern,
|
get_info_from_tda_tables(type0_PDCCH_CSS_config->type0_pdcch_ss_mux_pattern,
|
||||||
time_domain_allocation,
|
time_domain_allocation,
|
||||||
gNB_mac->common_channels->ServingCellConfigCommon->dmrs_TypeA_Position,
|
gNB_mac->common_channels->ServingCellConfigCommon->dmrs_TypeA_Position,
|
||||||
1, &startSymbolIndex, &nrOfSymbols);
|
1, &is_typeA,
|
||||||
|
&startSymbolIndex, &nrOfSymbols);
|
||||||
// TODO: There are exceptions to this in table 5.1.2.1.1-4,5 (Default time domain allocation tables B, C)
|
|
||||||
int mappingtype = (startSymbolIndex <= 3)? typeA: typeB;
|
|
||||||
|
|
||||||
|
int mappingtype = is_typeA? typeA: typeB;
|
||||||
uint16_t dlDmrsSymbPos = fill_dmrs_mask(NULL, gNB_mac->common_channels->ServingCellConfigCommon->dmrs_TypeA_Position, nrOfSymbols, startSymbolIndex, mappingtype);
|
uint16_t dlDmrsSymbPos = fill_dmrs_mask(NULL, gNB_mac->common_channels->ServingCellConfigCommon->dmrs_TypeA_Position, nrOfSymbols, startSymbolIndex, mappingtype);
|
||||||
|
|
||||||
// Configure sched_ctrlCommon for SIB1
|
// Configure sched_ctrlCommon for SIB1
|
||||||
|
|||||||
Reference in New Issue
Block a user