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, ...@@ -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_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_NumRepetitions_RA
// fp->nprach_config_common.nprach_ParametersList.list.array[0]->npdcch_Offset_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 { ...@@ -230,11 +230,6 @@ typedef struct RrcConfigurationReq_s {
BOOLEAN_t npusch_groupHoppingEnabled[MAX_NUM_CCs]; BOOLEAN_t npusch_groupHoppingEnabled[MAX_NUM_CCs];
long npusch_groupAssignmentNPUSCH_r13[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 //DL_GapConfig
long dl_GapThreshold_NB[MAX_NUM_CCs]; long dl_GapThreshold_NB[MAX_NUM_CCs];
long dl_GapPeriodicity_NB[MAX_NUM_CCs]; long dl_GapPeriodicity_NB[MAX_NUM_CCs];
......
...@@ -42,43 +42,50 @@ void UL_indication(UL_IND_t UL_INFO) ...@@ -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){ void schedule_response(Sched_Rsp_t Sched_INFO){
//todo //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){ if(config_INFO->get_MIB != 0){
NB_phy_config_mib_eNB(config_INFO.mod_id, //MIB-NB configuration
config_INFO.CC_id, NB_phy_config_mib_eNB(config_INFO->mod_id,
config_INFO.frequency_band_indicator, config_INFO->CC_id,
config_INFO.sch_config.physical_cell_id, config_INFO->frequency_band_indicator,
config_INFO.subframe_config.dl_cyclic_prefix_type, config_INFO->sch_config.physical_cell_id,
config_INFO.rf_config.tx_antenna_ports, config_INFO->subframe_config.dl_cyclic_prefix_type,
config_INFO.dl_CarrierFreq, config_INFO->rf_config.tx_antenna_ports,
config_INFO.ul_CarrierFreq); config_INFO->dl_CarrierFreq,
config_INFO->ul_CarrierFreq);
} }
//Common Configuration included in SIB2-NB if(config_INFO->get_COMMON != 0)
NB_phy_config_sib2_eNB(config_INFO.mod_id, {
config_INFO.CC_id, //Common Configuration included in SIB2-NB
&config_INFO.nb_iot_config, // FIXME to be evaluated is should be passed a pointer NB_phy_config_sib2_eNB(config_INFO->mod_id,
&config_INFO.rf_config); // FIXME to be evaluated is should be passed a pointer 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 //Dedicated Configuration
if(config_INFO.phy_config_dedicated != NULL){ 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
);
}
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 @@ ...@@ -64,10 +64,6 @@
#define ENABLE_MAC_PAYLOAD_DEBUG #define ENABLE_MAC_PAYLOAD_DEBUG
#define DEBUG_eNB_SCHEDULER 1 #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, void NB_rx_sdu(const module_id_t enb_mod_idP,
const int CC_idP, const int CC_idP,
......
...@@ -111,7 +111,7 @@ typedef struct{ ...@@ -111,7 +111,7 @@ typedef struct{
/*OAI config. parameters*/ /*OAI config. parameters*/
module_id_t mod_id; module_id_t mod_id;
int CC_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_MIB; //should be different from 0 only when the mib!= null (NB_rrc_mac_config_req_eNB)
int get_COMMON; int get_COMMON;
int get_DEDICATED; int get_DEDICATED;
...@@ -341,7 +341,7 @@ void schedule_response(Sched_Rsp_t Sched_INFO); ...@@ -341,7 +341,7 @@ void schedule_response(Sched_Rsp_t Sched_INFO);
/*Interface for PHY Configuration /*Interface for PHY Configuration
* Trigger the phy_config_xxx functions using parameters from the shared PHY_Config structure * 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 #endif
This diff is collapsed.
...@@ -641,7 +641,7 @@ uint8_t do_SIB23_NB(uint8_t Mod_id, ...@@ -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->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]; sib2_NB->radioResourceConfigCommon_r13.npusch_ConfigCommon_r13.dmrs_Config_r13->sixTone_CyclicShift_r13 = configuration->npusch_sixTone_CyclicShift_r13[CC_id];
/* /*OPTIONAL
* threeTone_BaseSequence_r13 * threeTone_BaseSequence_r13
* sixTone_BaseSequence_r13 * sixTone_BaseSequence_r13
* twelveTone_BaseSequence_r13 * twelveTone_BaseSequence_r13
...@@ -680,8 +680,6 @@ uint8_t do_SIB23_NB(uint8_t Mod_id, ...@@ -680,8 +680,6 @@ uint8_t do_SIB23_NB(uint8_t Mod_id,
/*FIXME:static assignment will be not used /*FIXME:static assignment will be not used
//RACH-Config-NB-IoT //RACH-Config-NB-IoT
//no numberOfRA_Preambles //no numberOfRA_Preambles
//no preamblesGroupAConfig.. //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