Commit 46b04c3b authored by Michele Paffetti's avatar Michele Paffetti

First implementation of FAPI-like P5 configuration for the PHY layer....

First implementation of FAPI-like P5 configuration for the PHY layer. PHY_Config_t structure, modified NB_rrc_mac_config_req_eNB for triggering the IF_Module PHY_config_req function. Some common config. and all the dedicated configuration are missed
parent 15e4e6a4
......@@ -227,6 +227,7 @@ void NB_phy_config_sib2_eNB(uint8_t Mod_id,
// fp->nprach_config_common.nprach_ParametersList.list.array[0]->npdcch_StartSF_CSS_RA
// fp->nprach_config_common.nprach_ParametersList.list.array[0]->npdcch_NumRepetitions_RA
// fp->nprach_config_common.nprach_ParametersList.list.array[0]->npdcch_Offset_RA
// fp->nprach_config_common.nprach_ParametersList.list.array[0]->maxNumPreambleAttemptCE
}
......
......@@ -230,11 +230,6 @@ typedef struct RrcConfigurationReq_s {
BOOLEAN_t npusch_groupHoppingEnabled[MAX_NUM_CCs];
long npusch_groupAssignmentNPUSCH_r13[MAX_NUM_CCs];
/*NPUCCH
* all data are sent over the NPUSCH. This includes also the UL control information (UCI), which is transmitted using a different format.
* Consequently there is no equivalent to the PUCCH of LTE in NB-IoT.
*/
//DL_GapConfig
long dl_GapThreshold_NB[MAX_NUM_CCs];
long dl_GapPeriodicity_NB[MAX_NUM_CCs];
......
......@@ -42,43 +42,50 @@ void UL_indication(UL_IND_t UL_INFO)
}
}
NB_eNB_dlsch_ulsch_scheduler(UL_INFO.module_id,0,UL_INFO.frame,UL_INFO.subframe);
//NB_eNB_dlsch_ulsch_scheduler(UL_INFO.module_id,0,UL_INFO.frame,UL_INFO.subframe); TODO: to be implemented
}
void schedule_response(Sched_Rsp_t Sched_INFO){
//todo
}
void PHY_config_req(PHY_Config_t config_INFO){
void PHY_config_req(PHY_Config_t* config_INFO){
if(config_INFO.get_MIB != 0){
NB_phy_config_mib_eNB(config_INFO.mod_id,
config_INFO.CC_id,
config_INFO.frequency_band_indicator,
config_INFO.sch_config.physical_cell_id,
config_INFO.subframe_config.dl_cyclic_prefix_type,
config_INFO.rf_config.tx_antenna_ports,
config_INFO.dl_CarrierFreq,
config_INFO.ul_CarrierFreq);
if(config_INFO->get_MIB != 0){
//MIB-NB configuration
NB_phy_config_mib_eNB(config_INFO->mod_id,
config_INFO->CC_id,
config_INFO->frequency_band_indicator,
config_INFO->sch_config.physical_cell_id,
config_INFO->subframe_config.dl_cyclic_prefix_type,
config_INFO->rf_config.tx_antenna_ports,
config_INFO->dl_CarrierFreq,
config_INFO->ul_CarrierFreq);
}
//Common Configuration included in SIB2-NB
NB_phy_config_sib2_eNB(config_INFO.mod_id,
config_INFO.CC_id,
&config_INFO.nb_iot_config, // FIXME to be evaluated is should be passed a pointer
&config_INFO.rf_config); // FIXME to be evaluated is should be passed a pointer
if(config_INFO->get_COMMON != 0)
{
//Common Configuration included in SIB2-NB
NB_phy_config_sib2_eNB(config_INFO->mod_id,
config_INFO->CC_id,
&config_INFO->nb_iot_config, // FIXME to be evaluated is should be passed a pointer
&config_INFO->rf_config); // FIXME to be evaluated is should be passed a pointer
}
if(config_INFO->get_DEDICATED!= 0)
{
//Dedicated Configuration
if(config_INFO.phy_config_dedicated != NULL){
NB_phy_config_dedicated_eNB(config_INFO.mod_id,
config_INFO.CC_id,
config_INFO.rnti,
config_INFO.phy_config_dedicated //not defined by fapi specs
);
}
if(config_INFO->phy_config_dedicated != NULL){
NB_phy_config_dedicated_eNB(config_INFO->mod_id,
config_INFO->CC_id,
config_INFO->rnti,
config_INFO->phy_config_dedicated //not defined by fapi specs
);
}
}
}
......
......@@ -64,10 +64,6 @@
#define ENABLE_MAC_PAYLOAD_DEBUG
#define DEBUG_eNB_SCHEDULER 1
// This table holds the allowable PRB sizes for ULSCH transmissions
uint8_t rb_table[33] = {1,2,3,4,5,6,8,9,10,12,15,16,18,20,24,25,27,30,32,36,40,45,48,50,54,60,72,75,80,81,90,96,100};
void NB_rx_sdu(const module_id_t enb_mod_idP,
const int CC_idP,
......
......@@ -111,7 +111,7 @@ typedef struct{
/*OAI config. parameters*/
module_id_t mod_id;
int CC_id;
int rnti;
uint16_t rnti;
int get_MIB; //should be different from 0 only when the mib!= null (NB_rrc_mac_config_req_eNB)
int get_COMMON;
int get_DEDICATED;
......@@ -341,7 +341,7 @@ void schedule_response(Sched_Rsp_t Sched_INFO);
/*Interface for PHY Configuration
* Trigger the phy_config_xxx functions using parameters from the shared PHY_Config structure
* */
void PHY_config_req(PHY_Config_t config_INFO);
void PHY_config_req(PHY_Config_t* config_INFO);
#endif
This diff is collapsed.
......@@ -641,7 +641,7 @@ uint8_t do_SIB23_NB(uint8_t Mod_id,
sib2_NB->radioResourceConfigCommon_r13.npusch_ConfigCommon_r13.dmrs_Config_r13->threeTone_CyclicShift_r13 =configuration->npusch_threeTone_CyclicShift_r13[CC_id];
sib2_NB->radioResourceConfigCommon_r13.npusch_ConfigCommon_r13.dmrs_Config_r13->sixTone_CyclicShift_r13 = configuration->npusch_sixTone_CyclicShift_r13[CC_id];
/*
/*OPTIONAL
* threeTone_BaseSequence_r13
* sixTone_BaseSequence_r13
* twelveTone_BaseSequence_r13
......@@ -680,8 +680,6 @@ uint8_t do_SIB23_NB(uint8_t Mod_id,
/*FIXME:static assignment will be not used
//RACH-Config-NB-IoT
//no numberOfRA_Preambles
//no preamblesGroupAConfig..
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment