taking aggregation level and nr of candidates from config at ue
This commit is contained in:
@@ -974,6 +974,33 @@ int64_t *get_prach_config_info(uint32_t pointa,
|
|||||||
return prach_config_info_p;
|
return prach_config_info_p;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void find_aggregation_candidates(uint8_t *aggregation_level,
|
||||||
|
uint8_t *nr_of_candidates,
|
||||||
|
NR_SearchSpace_t *ss) {
|
||||||
|
|
||||||
|
if (ss->nrofCandidates->aggregationLevel1 != NR_SearchSpace__nrofCandidates__aggregationLevel1_n0) {
|
||||||
|
*aggregation_level = 1;
|
||||||
|
*nr_of_candidates = ss->nrofCandidates->aggregationLevel1;
|
||||||
|
}
|
||||||
|
if (ss->nrofCandidates->aggregationLevel2 != NR_SearchSpace__nrofCandidates__aggregationLevel2_n0) {
|
||||||
|
*aggregation_level = 2;
|
||||||
|
*nr_of_candidates = ss->nrofCandidates->aggregationLevel2;
|
||||||
|
}
|
||||||
|
if (ss->nrofCandidates->aggregationLevel4 != NR_SearchSpace__nrofCandidates__aggregationLevel4_n0) {
|
||||||
|
*aggregation_level = 4;
|
||||||
|
*nr_of_candidates = ss->nrofCandidates->aggregationLevel4;
|
||||||
|
}
|
||||||
|
if (ss->nrofCandidates->aggregationLevel8 != NR_SearchSpace__nrofCandidates__aggregationLevel8_n0) {
|
||||||
|
*aggregation_level = 8;
|
||||||
|
*nr_of_candidates = ss->nrofCandidates->aggregationLevel8;
|
||||||
|
}
|
||||||
|
if (ss->nrofCandidates->aggregationLevel16 != NR_SearchSpace__nrofCandidates__aggregationLevel16_n0) {
|
||||||
|
*aggregation_level = 16;
|
||||||
|
*nr_of_candidates = ss->nrofCandidates->aggregationLevel16;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void find_monitoring_periodicity_offset_common(NR_SearchSpace_t *ss,
|
void find_monitoring_periodicity_offset_common(NR_SearchSpace_t *ss,
|
||||||
uint16_t *slot_period,
|
uint16_t *slot_period,
|
||||||
uint16_t *offset) {
|
uint16_t *offset) {
|
||||||
|
|||||||
@@ -123,6 +123,10 @@ uint16_t nr_dci_size(NR_ServingCellConfigCommon_t *scc,
|
|||||||
uint16_t N_RB,
|
uint16_t N_RB,
|
||||||
int bwp_id);
|
int bwp_id);
|
||||||
|
|
||||||
|
void find_aggregation_candidates(uint8_t *aggregation_level,
|
||||||
|
uint8_t *nr_of_candidates,
|
||||||
|
NR_SearchSpace_t *ss);
|
||||||
|
|
||||||
void find_monitoring_periodicity_offset_common(NR_SearchSpace_t *ss,
|
void find_monitoring_periodicity_offset_common(NR_SearchSpace_t *ss,
|
||||||
uint16_t *slot_period,
|
uint16_t *slot_period,
|
||||||
uint16_t *offset);
|
uint16_t *offset);
|
||||||
|
|||||||
@@ -53,17 +53,16 @@ dci_pdu_rel15_t *def_dci_pdu_rel15;
|
|||||||
void fill_dci_search_candidates(NR_SearchSpace_t *ss,fapi_nr_dl_config_dci_dl_pdu_rel15_t *rel15) {
|
void fill_dci_search_candidates(NR_SearchSpace_t *ss,fapi_nr_dl_config_dci_dl_pdu_rel15_t *rel15) {
|
||||||
|
|
||||||
LOG_D(MAC,"Filling search candidates for DCI\n");
|
LOG_D(MAC,"Filling search candidates for DCI\n");
|
||||||
|
|
||||||
rel15->number_of_candidates=4;
|
|
||||||
rel15->CCE[0]=0;
|
|
||||||
rel15->L[0]=4;
|
|
||||||
rel15->CCE[1]=4;
|
|
||||||
rel15->L[1]=4;
|
|
||||||
rel15->CCE[2]=8;
|
|
||||||
rel15->L[2]=4;
|
|
||||||
rel15->CCE[3]=12;
|
|
||||||
rel15->L[3]=4;
|
|
||||||
|
|
||||||
|
uint8_t aggregation;
|
||||||
|
find_aggregation_candidates(&aggregation,
|
||||||
|
&rel15->number_of_candidates,
|
||||||
|
ss);
|
||||||
|
|
||||||
|
for (int i=0; i<rel15->number_of_candidates; i++) {
|
||||||
|
rel15->CCE[i] = i*aggregation;
|
||||||
|
rel15->L[i] = aggregation;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void config_dci_pdu(NR_UE_MAC_INST_t *mac, fapi_nr_dl_config_dci_dl_pdu_rel15_t *rel15, fapi_nr_dl_config_request_t *dl_config, int rnti_type, int ss_id){
|
void config_dci_pdu(NR_UE_MAC_INST_t *mac, fapi_nr_dl_config_dci_dl_pdu_rel15_t *rel15, fapi_nr_dl_config_request_t *dl_config, int rnti_type, int ss_id){
|
||||||
|
|||||||
@@ -1857,32 +1857,6 @@ void get_pdsch_to_harq_feedback(int Mod_idP,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void find_aggregation_candidates(uint8_t *aggregation_level,
|
|
||||||
uint8_t *nr_of_candidates,
|
|
||||||
NR_SearchSpace_t *ss) {
|
|
||||||
|
|
||||||
if (ss->nrofCandidates->aggregationLevel1 != NR_SearchSpace__nrofCandidates__aggregationLevel1_n0) {
|
|
||||||
*aggregation_level = 1;
|
|
||||||
*nr_of_candidates = ss->nrofCandidates->aggregationLevel1;
|
|
||||||
}
|
|
||||||
if (ss->nrofCandidates->aggregationLevel2 != NR_SearchSpace__nrofCandidates__aggregationLevel2_n0) {
|
|
||||||
*aggregation_level = 2;
|
|
||||||
*nr_of_candidates = ss->nrofCandidates->aggregationLevel2;
|
|
||||||
}
|
|
||||||
if (ss->nrofCandidates->aggregationLevel4 != NR_SearchSpace__nrofCandidates__aggregationLevel4_n0) {
|
|
||||||
*aggregation_level = 4;
|
|
||||||
*nr_of_candidates = ss->nrofCandidates->aggregationLevel4;
|
|
||||||
}
|
|
||||||
if (ss->nrofCandidates->aggregationLevel8 != NR_SearchSpace__nrofCandidates__aggregationLevel8_n0) {
|
|
||||||
*aggregation_level = 8;
|
|
||||||
*nr_of_candidates = ss->nrofCandidates->aggregationLevel8;
|
|
||||||
}
|
|
||||||
if (ss->nrofCandidates->aggregationLevel16 != NR_SearchSpace__nrofCandidates__aggregationLevel16_n0) {
|
|
||||||
*aggregation_level = 16;
|
|
||||||
*nr_of_candidates = ss->nrofCandidates->aggregationLevel16;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*void fill_nfapi_coresets_and_searchspaces(NR_CellGroupConfig_t *cg,
|
/*void fill_nfapi_coresets_and_searchspaces(NR_CellGroupConfig_t *cg,
|
||||||
nfapi_nr_coreset_t *coreset,
|
nfapi_nr_coreset_t *coreset,
|
||||||
|
|||||||
@@ -275,10 +275,6 @@ NR_SearchSpace_t *get_searchspace(
|
|||||||
NR_BWP_Downlink_t *bwp,
|
NR_BWP_Downlink_t *bwp,
|
||||||
NR_SearchSpace__searchSpaceType_PR target_ss);
|
NR_SearchSpace__searchSpaceType_PR target_ss);
|
||||||
|
|
||||||
void find_aggregation_candidates(uint8_t *aggregation_level,
|
|
||||||
uint8_t *nr_of_candidates,
|
|
||||||
NR_SearchSpace_t *ss);
|
|
||||||
|
|
||||||
uint8_t nr_get_tpc(int target, uint8_t cqi, int incr);
|
uint8_t nr_get_tpc(int target, uint8_t cqi, int incr);
|
||||||
|
|
||||||
int get_spf(nfapi_nr_config_request_scf_t *cfg);
|
int get_spf(nfapi_nr_config_request_scf_t *cfg);
|
||||||
|
|||||||
Reference in New Issue
Block a user