UE: error fixed.
This commit is contained in:
@@ -252,7 +252,7 @@ typedef struct {
|
||||
fapi_nr_dl_config_dci_dl_pdu_rel15_t dci_config_rel15;
|
||||
} fapi_nr_dl_config_dci_pdu;
|
||||
|
||||
typedef fapi_nr_dl_config_dlsch_pdu_rel15_t fapi_nr_dci_pdu_rel15_t;
|
||||
typedef fapi_nr_dci_pdu_rel15_t fapi_nr_dl_config_dlsch_pdu_rel15_t;
|
||||
|
||||
typedef struct {
|
||||
fapi_nr_dl_config_dlsch_pdu_rel15_t dlsch_config_rel15;
|
||||
|
||||
@@ -48,46 +48,48 @@ int8_t nr_ue_scheduled_response(nr_scheduled_response_t *scheduled_response){
|
||||
uint32_t i;
|
||||
|
||||
if(scheduled_response != NULL){
|
||||
NR_UE_PDCCH *pdcch_vars2 = PHY_vars_UE_g[module_id][cc_id]->pdcch_vars[0][0];
|
||||
|
||||
if(scheduled_response->dl_config != NULL){
|
||||
fapi_nr_dl_config_request_t *dl_config = scheduled_response->dl_config;
|
||||
|
||||
|
||||
|
||||
for(i=0; i<dl_config->number_pdus; ++i){
|
||||
if(dl_config->dl_config_list[i].pdu_type == FAPI_NR_DL_CONFIG_TYPE_DCI){
|
||||
PHY_vars_UE_g[module_id][cc_id]->nb_search_space = PHY_vars_UE_g[module_id][cc_id]->nb_search_space + 1;
|
||||
pdcch_vars2->nb_search_space = pdcch_vars2->nb_search_space + 1;
|
||||
fapi_nr_dl_config_dci_dl_pdu_rel15_t *dci_config = &dl_config->dl_config_list[i].dci_config_pdu.dci_config_rel15;
|
||||
|
||||
pdcch_vars2->searchSpace[i].monitoringSymbolWithinSlot = dci_config.monitoring_symbols_within_slot;
|
||||
pdcch_vars2->searchSpace[i].monitoringSymbolWithinSlot = dci_config->monitoring_symbols_within_slot;
|
||||
|
||||
pdcch_vars2->searchSpace[i].nrofCandidates_aggrlevel1 = dci_config.number_of_candidates[0];
|
||||
pdcch_vars2->searchSpace[i].nrofCandidates_aggrlevel2 = dci_config.number_of_candidates[1];
|
||||
pdcch_vars2->searchSpace[i].nrofCandidates_aggrlevel4 = dci_config.number_of_candidates[2];
|
||||
pdcch_vars2->searchSpace[i].nrofCandidates_aggrlevel8 = dci_config.number_of_candidates[3];
|
||||
pdcch_vars2->searchSpace[i].nrofCandidates_aggrlevel16 = dci_config.number_of_candidates[4];
|
||||
pdcch_vars2->searchSpace[i].nrofCandidates_aggrlevel1 = dci_config->number_of_candidates[0];
|
||||
pdcch_vars2->searchSpace[i].nrofCandidates_aggrlevel2 = dci_config->number_of_candidates[1];
|
||||
pdcch_vars2->searchSpace[i].nrofCandidates_aggrlevel4 = dci_config->number_of_candidates[2];
|
||||
pdcch_vars2->searchSpace[i].nrofCandidates_aggrlevel8 = dci_config->number_of_candidates[3];
|
||||
pdcch_vars2->searchSpace[i].nrofCandidates_aggrlevel16 = dci_config->number_of_candidates[4];
|
||||
|
||||
pdcch_vars2->coreset[i].duration = dci_config.coreset.duration;
|
||||
pdcch_vars2->coreset[i].duration = dci_config->coreset.duration;
|
||||
//pdcch_vars2->coreset[i].frequencyDomainResources;
|
||||
//dci_config.coreset.rb_start;
|
||||
//dci_config.coreset.rb_end;
|
||||
|
||||
if(dci_config.cce_reg_mapping_type == CCE_REG_MAPPING_TYPE_INTERLEAVED){
|
||||
pdcch_vars2->coreset[i].cce_reg_mappingType.shiftIndex = cce_reg_interleaved_shift_index;
|
||||
pdcch_vars2->coreset[i].cce_reg_mappingType.reg_bundlesize = cce_reg_interleaved_reg_bundle_size;
|
||||
pdcch_vars2->coreset[i].cce_reg_mappingType.interleaversize = cce_reg_interleaved_interleaver_size;
|
||||
if(dci_config->coreset.cce_reg_mapping_type == CCE_REG_MAPPING_TYPE_INTERLEAVED){
|
||||
pdcch_vars2->coreset[i].cce_reg_mappingType.shiftIndex = dci_config->coreset.cce_reg_interleaved_shift_index;
|
||||
pdcch_vars2->coreset[i].cce_reg_mappingType.reg_bundlesize = dci_config->coreset.cce_reg_interleaved_reg_bundle_size;
|
||||
pdcch_vars2->coreset[i].cce_reg_mappingType.interleaversize = dci_config->coreset.cce_reg_interleaved_interleaver_size;
|
||||
}else{
|
||||
;
|
||||
}
|
||||
|
||||
pdcch_vars2->coreset[i].precoderGranularity = dci_config.precoder_granularity;
|
||||
pdcch_vars2->coreset[i].precoderGranularity = dci_config->coreset.precoder_granularity;
|
||||
//pdcch_vars2->coreset[i].tciStatesPDCCH;
|
||||
//pdcch_vars2->coreset[i].tciPresentInDCI;
|
||||
pdcch_vars2->coreset[i].pdcchDMRSScramblingID = dci_config.pdcch_dmrs_scrambling_id;
|
||||
pdcch_vars2->coreset[i].pdcchDMRSScramblingID = dci_config->coreset.pdcch_dmrs_scrambling_id;
|
||||
}else{ //FAPI_NR_DL_CONFIG_TYPE_DLSCH
|
||||
// dlsch config pdu
|
||||
}
|
||||
}
|
||||
}else{
|
||||
PHY_vars_UE_g[module_id][cc_id]->nb_search_space = 0;
|
||||
pdcch_vars2->nb_search_space = 0;
|
||||
}
|
||||
|
||||
if(scheduled_response->ul_config != NULL){
|
||||
|
||||
@@ -507,11 +507,11 @@ NR_UE_L2_STATE_t nr_ue_scheduler(
|
||||
if((search_space_mask & type0_pdcch) || ( mac->type0_pdcch_consecutive_slots != 0 )){
|
||||
mac->type0_pdcch_consecutive_slots = mac->type0_pdcch_consecutive_slots - 1;
|
||||
|
||||
dl_config->dl_config_list[dl_config->number_pdus].dci_pdu.dci_config_rel15 = mac->type0_pdcch_dci_config;
|
||||
dl_config->dl_config_list[dl_config->number_pdus].dci_config_pdu.dci_config_rel15 = mac->type0_pdcch_dci_config;
|
||||
dl_config->dl_config_list[dl_config->number_pdus].pdu_type = FAPI_NR_DL_CONFIG_TYPE_DCI;
|
||||
dl_config->number_pdus = dl_config->number_pdus + 1;
|
||||
|
||||
dl_config->dl_config_list[dl_config->number_pdus].dci_pdu.dci_config_rel15.rnti = 0xaaaa; // to be set
|
||||
dl_config->dl_config_list[dl_config->number_pdus].dci_config_pdu.dci_config_rel15.rnti = 0xaaaa; // to be set
|
||||
}
|
||||
|
||||
if(search_space_mask & type0a_pdcch){
|
||||
@@ -590,7 +590,7 @@ void nr_ue_process_mac_pdu(
|
||||
// L: The Length field indicates the length of the corresponding MAC SDU or variable-sized MAC CE in bytes. There is one L field per MAC subheader except for subheaders corresponding to fixed-sized MAC CEs and padding. The size of the L field is indicated by the F field;
|
||||
// F: lenght of L is 8 or 16 bits wide
|
||||
// R: Reserved bit, set to zero.
|
||||
|
||||
uint8_t done = 0;
|
||||
|
||||
while (!done) {
|
||||
|
||||
@@ -604,7 +604,7 @@ void nr_ue_process_mac_pdu(
|
||||
// MAC SDU
|
||||
|
||||
default:
|
||||
printf("[MAC] get lcid: %d which not support yet\n", ((NR_MAC_SUBHEADER_FIXED *)buf_ptr)->LCID);
|
||||
printf("[MAC] get lcid: %d which not support yet\n", ((NR_MAC_SUBHEADER_FIXED *)pdu_ptr)->LCID);
|
||||
break;
|
||||
}
|
||||
pdu_ptr += sub_pdu_len;
|
||||
|
||||
@@ -143,7 +143,7 @@ int8_t nr_ue_dl_indication(nr_downlink_indication_t *dl_info){
|
||||
if(dl_info->dci_ind != NULL){
|
||||
printf("[L2][IF MODULE][DL INDICATION][DCI_IND]\n");
|
||||
for(i=0; dl_info->dci_ind->number_of_dcis; ++i){
|
||||
fapi_nr_dci_pdu_rel15_t *dci = &(dl_info->dci_ind->dci_list+i)->dci;
|
||||
fapi_nr_dci_pdu_rel15_t *dci = &dl_info->dci_ind->dci_list[i].dci;
|
||||
switch((dl_info->dci_ind->dci_list+i)->dci_type){
|
||||
case FAPI_NR_DCI_TYPE_0_0:
|
||||
case FAPI_NR_DCI_TYPE_0_1:
|
||||
@@ -160,8 +160,8 @@ int8_t nr_ue_dl_indication(nr_downlink_indication_t *dl_info){
|
||||
dl_config->dl_config_list[dl_config->number_pdus].pdu_type = FAPI_NR_DL_CONFIG_TYPE_DLSCH;
|
||||
|
||||
// mapping into DL_CONFIG_REQ for DL-SCH
|
||||
fapi_nr_dl_config_dlsch_pdu_rel15_t *dlsch_config_pdu = &dl_config->dl_config_list[dl_config->number_pdus].dlsch_pdu.dlsch_config_rel15;
|
||||
dlsch_config_pdu->format_indicator = dci->dci_format;
|
||||
fapi_nr_dl_config_dlsch_pdu_rel15_t *dlsch_config_pdu = &dl_config->dl_config_list[dl_config->number_pdus].dlsch_config_pdu.dlsch_config_rel15;
|
||||
/*dlsch_config_pdu->format_indicator = dci->dci_format;
|
||||
dlsch_config_pdu->frequency_domain_assignment = dci->frequency_domain_resouce_assignment;
|
||||
dlsch_config_pdu->time_domain_assignment = dci->time_domain_resource_assignment;
|
||||
dlsch_config_pdu->vrb_to_prb_mapping = dci->vrb_to_prb_mapping;
|
||||
@@ -175,6 +175,7 @@ int8_t nr_ue_dl_indication(nr_downlink_indication_t *dl_info){
|
||||
dlsch_config_pdu->pdsch_to_harq_feedback_timing_indicator = dci->pdsch_to_harq_feedback_timing_indicator;
|
||||
|
||||
dl_config->dl_config_list[dl_config->number_pdus].dlsch_pdu.dlsch_config_rel15.rnti = 0x0000; // TX RNTI: UE-spec
|
||||
*/
|
||||
dl_config->number_pdus = dl_config->number_pdus + 1;
|
||||
|
||||
ret_mask |= (handle_dci(
|
||||
|
||||
Reference in New Issue
Block a user