csi period and offset in mac common
This commit is contained in:
@@ -3240,6 +3240,57 @@ uint16_t get_ssb_start_symbol(const long band, NR_SubcarrierSpacing_t scs, int i
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void csi_period_offset(const NR_CSI_ReportConfig_t *csirep,
|
||||||
|
int *period, int *offset) {
|
||||||
|
|
||||||
|
NR_CSI_ReportPeriodicityAndOffset_PR p_and_o = csirep->reportConfigType.choice.periodic->reportSlotConfig.present;
|
||||||
|
|
||||||
|
switch(p_and_o){
|
||||||
|
case NR_CSI_ReportPeriodicityAndOffset_PR_slots4:
|
||||||
|
*period = 4;
|
||||||
|
*offset = csirep->reportConfigType.choice.periodic->reportSlotConfig.choice.slots4;
|
||||||
|
break;
|
||||||
|
case NR_CSI_ReportPeriodicityAndOffset_PR_slots5:
|
||||||
|
*period = 5;
|
||||||
|
*offset = csirep->reportConfigType.choice.periodic->reportSlotConfig.choice.slots5;
|
||||||
|
break;
|
||||||
|
case NR_CSI_ReportPeriodicityAndOffset_PR_slots8:
|
||||||
|
*period = 8;
|
||||||
|
*offset = csirep->reportConfigType.choice.periodic->reportSlotConfig.choice.slots8;
|
||||||
|
break;
|
||||||
|
case NR_CSI_ReportPeriodicityAndOffset_PR_slots10:
|
||||||
|
*period = 10;
|
||||||
|
*offset = csirep->reportConfigType.choice.periodic->reportSlotConfig.choice.slots10;
|
||||||
|
break;
|
||||||
|
case NR_CSI_ReportPeriodicityAndOffset_PR_slots16:
|
||||||
|
*period = 16;
|
||||||
|
*offset = csirep->reportConfigType.choice.periodic->reportSlotConfig.choice.slots16;
|
||||||
|
break;
|
||||||
|
case NR_CSI_ReportPeriodicityAndOffset_PR_slots20:
|
||||||
|
*period = 20;
|
||||||
|
*offset = csirep->reportConfigType.choice.periodic->reportSlotConfig.choice.slots20;
|
||||||
|
break;
|
||||||
|
case NR_CSI_ReportPeriodicityAndOffset_PR_slots40:
|
||||||
|
*period = 40;
|
||||||
|
*offset = csirep->reportConfigType.choice.periodic->reportSlotConfig.choice.slots40;
|
||||||
|
break;
|
||||||
|
case NR_CSI_ReportPeriodicityAndOffset_PR_slots80:
|
||||||
|
*period = 80;
|
||||||
|
*offset = csirep->reportConfigType.choice.periodic->reportSlotConfig.choice.slots80;
|
||||||
|
break;
|
||||||
|
case NR_CSI_ReportPeriodicityAndOffset_PR_slots160:
|
||||||
|
*period = 160;
|
||||||
|
*offset = csirep->reportConfigType.choice.periodic->reportSlotConfig.choice.slots160;
|
||||||
|
break;
|
||||||
|
case NR_CSI_ReportPeriodicityAndOffset_PR_slots320:
|
||||||
|
*period = 320;
|
||||||
|
*offset = csirep->reportConfigType.choice.periodic->reportSlotConfig.choice.slots320;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
AssertFatal(1==0,"No periodicity and offset resource found in CSI report");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void get_type0_PDCCH_CSS_config_parameters(NR_Type0_PDCCH_CSS_config_t *type0_PDCCH_CSS_config,
|
void get_type0_PDCCH_CSS_config_parameters(NR_Type0_PDCCH_CSS_config_t *type0_PDCCH_CSS_config,
|
||||||
frame_t frameP,
|
frame_t frameP,
|
||||||
NR_MIB_t *mib,
|
NR_MIB_t *mib,
|
||||||
|
|||||||
@@ -152,6 +152,9 @@ int16_t get_N_RA_RB (int delta_f_RA_PRACH,int delta_f_PUSCH);
|
|||||||
|
|
||||||
void find_period_offest_SR (NR_SchedulingRequestResourceConfig_t *SchedulingReqRec, int *period, int *offset);
|
void find_period_offest_SR (NR_SchedulingRequestResourceConfig_t *SchedulingReqRec, int *period, int *offset);
|
||||||
|
|
||||||
|
void csi_period_offset(const NR_CSI_ReportConfig_t *csirep,
|
||||||
|
int *period, int *offset);
|
||||||
|
|
||||||
bool set_dl_ptrs_values(NR_PTRS_DownlinkConfig_t *ptrs_config,
|
bool set_dl_ptrs_values(NR_PTRS_DownlinkConfig_t *ptrs_config,
|
||||||
uint16_t rbSize, uint8_t mcsIndex, uint8_t mcsTable,
|
uint16_t rbSize, uint8_t mcsIndex, uint8_t mcsTable,
|
||||||
uint8_t *K_ptrs, uint8_t *L_ptrs,uint8_t *portIndex,
|
uint8_t *K_ptrs, uint8_t *L_ptrs,uint8_t *portIndex,
|
||||||
|
|||||||
@@ -1308,58 +1308,6 @@ int nr_acknack_scheduling(int mod_id,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void csi_period_offset(const NR_CSI_ReportConfig_t *csirep,
|
|
||||||
int *period, int *offset) {
|
|
||||||
|
|
||||||
NR_CSI_ReportPeriodicityAndOffset_PR p_and_o = csirep->reportConfigType.choice.periodic->reportSlotConfig.present;
|
|
||||||
|
|
||||||
switch(p_and_o){
|
|
||||||
case NR_CSI_ReportPeriodicityAndOffset_PR_slots4:
|
|
||||||
*period = 4;
|
|
||||||
*offset = csirep->reportConfigType.choice.periodic->reportSlotConfig.choice.slots4;
|
|
||||||
break;
|
|
||||||
case NR_CSI_ReportPeriodicityAndOffset_PR_slots5:
|
|
||||||
*period = 5;
|
|
||||||
*offset = csirep->reportConfigType.choice.periodic->reportSlotConfig.choice.slots5;
|
|
||||||
break;
|
|
||||||
case NR_CSI_ReportPeriodicityAndOffset_PR_slots8:
|
|
||||||
*period = 8;
|
|
||||||
*offset = csirep->reportConfigType.choice.periodic->reportSlotConfig.choice.slots8;
|
|
||||||
break;
|
|
||||||
case NR_CSI_ReportPeriodicityAndOffset_PR_slots10:
|
|
||||||
*period = 10;
|
|
||||||
*offset = csirep->reportConfigType.choice.periodic->reportSlotConfig.choice.slots10;
|
|
||||||
break;
|
|
||||||
case NR_CSI_ReportPeriodicityAndOffset_PR_slots16:
|
|
||||||
*period = 16;
|
|
||||||
*offset = csirep->reportConfigType.choice.periodic->reportSlotConfig.choice.slots16;
|
|
||||||
break;
|
|
||||||
case NR_CSI_ReportPeriodicityAndOffset_PR_slots20:
|
|
||||||
*period = 20;
|
|
||||||
*offset = csirep->reportConfigType.choice.periodic->reportSlotConfig.choice.slots20;
|
|
||||||
break;
|
|
||||||
case NR_CSI_ReportPeriodicityAndOffset_PR_slots40:
|
|
||||||
*period = 40;
|
|
||||||
*offset = csirep->reportConfigType.choice.periodic->reportSlotConfig.choice.slots40;
|
|
||||||
break;
|
|
||||||
case NR_CSI_ReportPeriodicityAndOffset_PR_slots80:
|
|
||||||
*period = 80;
|
|
||||||
*offset = csirep->reportConfigType.choice.periodic->reportSlotConfig.choice.slots80;
|
|
||||||
break;
|
|
||||||
case NR_CSI_ReportPeriodicityAndOffset_PR_slots160:
|
|
||||||
*period = 160;
|
|
||||||
*offset = csirep->reportConfigType.choice.periodic->reportSlotConfig.choice.slots160;
|
|
||||||
break;
|
|
||||||
case NR_CSI_ReportPeriodicityAndOffset_PR_slots320:
|
|
||||||
*period = 320;
|
|
||||||
*offset = csirep->reportConfigType.choice.periodic->reportSlotConfig.choice.slots320;
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
AssertFatal(1==0,"No periodicity and offset resource found in CSI report");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void nr_sr_reporting(int Mod_idP, frame_t SFN, sub_frame_t slot)
|
void nr_sr_reporting(int Mod_idP, frame_t SFN, sub_frame_t slot)
|
||||||
{
|
{
|
||||||
gNB_MAC_INST *nrmac = RC.nrmac[Mod_idP];
|
gNB_MAC_INST *nrmac = RC.nrmac[Mod_idP];
|
||||||
|
|||||||
@@ -178,9 +178,6 @@ void nr_schedule_pucch(int Mod_idP,
|
|||||||
frame_t frameP,
|
frame_t frameP,
|
||||||
sub_frame_t slotP);
|
sub_frame_t slotP);
|
||||||
|
|
||||||
void csi_period_offset(const NR_CSI_ReportConfig_t *csirep,
|
|
||||||
int *period, int *offset);
|
|
||||||
|
|
||||||
void nr_csi_meas_reporting(int Mod_idP,
|
void nr_csi_meas_reporting(int Mod_idP,
|
||||||
frame_t frameP,
|
frame_t frameP,
|
||||||
sub_frame_t slotP);
|
sub_frame_t slotP);
|
||||||
|
|||||||
Reference in New Issue
Block a user