Commit 4aa7fbf1 authored by winckel's avatar winckel

Added some TDD configuration parameters in eNB config file.

Propagated eutra band into SIB 1.

git-svn-id: http://svn.eurecom.fr/openair4G/trunk@5028 818b1a75-f10b-46b9-bf7c-635c3b92a50f
parent d8773fda
...@@ -68,6 +68,7 @@ typedef struct RrcConfigurationReq_s { ...@@ -68,6 +68,7 @@ typedef struct RrcConfigurationReq_s {
paging_drx_t default_drx; paging_drx_t default_drx;
lte_frame_type_t frame_type; lte_frame_type_t frame_type;
int16_t eutra_band;
} RrcConfigurationReq; } RrcConfigurationReq;
// UE: NAS -> RRC messages // UE: NAS -> RRC messages
......
...@@ -86,6 +86,7 @@ static void configure_rrc(uint32_t enb_id, const Enb_properties_array_t *enb_pro ...@@ -86,6 +86,7 @@ static void configure_rrc(uint32_t enb_id, const Enb_properties_array_t *enb_pro
RRC_CONFIGURATION_REQ (msg_p).mnc = enb_properties->properties[enb_id]->mnc; RRC_CONFIGURATION_REQ (msg_p).mnc = enb_properties->properties[enb_id]->mnc;
RRC_CONFIGURATION_REQ (msg_p).default_drx = enb_properties->properties[enb_id]->default_drx; RRC_CONFIGURATION_REQ (msg_p).default_drx = enb_properties->properties[enb_id]->default_drx;
RRC_CONFIGURATION_REQ (msg_p).frame_type = enb_properties->properties[enb_id]->frame_type; RRC_CONFIGURATION_REQ (msg_p).frame_type = enb_properties->properties[enb_id]->frame_type;
RRC_CONFIGURATION_REQ (msg_p).eutra_band = enb_properties->properties[enb_id]->eutra_band;
itti_send_msg_to_task (TASK_RRC_ENB, enb_id, msg_p); itti_send_msg_to_task (TASK_RRC_ENB, enb_id, msg_p);
} }
......
This diff is collapsed.
...@@ -85,6 +85,8 @@ typedef struct Enb_properties_s { ...@@ -85,6 +85,8 @@ typedef struct Enb_properties_s {
/* Physical parameters */ /* Physical parameters */
lte_frame_type_t frame_type; lte_frame_type_t frame_type;
uint8_t tdd_config;
uint8_t tdd_config_s;
lte_prefix_type_t prefix_type; lte_prefix_type_t prefix_type;
int16_t eutra_band; int16_t eutra_band;
uint32_t downlink_frequency; uint32_t downlink_frequency;
......
...@@ -503,7 +503,12 @@ uint8_t do_SIB1(uint8_t Mod_id, LTE_DL_FRAME_PARMS *frame_parms, uint8_t *buffer ...@@ -503,7 +503,12 @@ uint8_t do_SIB1(uint8_t Mod_id, LTE_DL_FRAME_PARMS *frame_parms, uint8_t *buffer
(*sib1)->cellSelectionInfo.q_RxLevMin=-65; (*sib1)->cellSelectionInfo.q_RxLevMin=-65;
(*sib1)->cellSelectionInfo.q_RxLevMinOffset=NULL; (*sib1)->cellSelectionInfo.q_RxLevMinOffset=NULL;
(*sib1)->freqBandIndicator = 7; (*sib1)->freqBandIndicator =
#if defined(ENABLE_ITTI)
configuration->eutra_band;
#else
7;
#endif
schedulingInfo.si_Periodicity=SchedulingInfo__si_Periodicity_rf8; schedulingInfo.si_Periodicity=SchedulingInfo__si_Periodicity_rf8;
...@@ -518,11 +523,11 @@ uint8_t do_SIB1(uint8_t Mod_id, LTE_DL_FRAME_PARMS *frame_parms, uint8_t *buffer ...@@ -518,11 +523,11 @@ uint8_t do_SIB1(uint8_t Mod_id, LTE_DL_FRAME_PARMS *frame_parms, uint8_t *buffer
if (configuration->frame_type == TDD) if (configuration->frame_type == TDD)
#endif #endif
{ {
(*sib1)->tdd_Config = CALLOC(1,sizeof(struct TDD_Config)); (*sib1)->tdd_Config = CALLOC(1,sizeof(struct TDD_Config));
(*sib1)->tdd_Config->subframeAssignment=frame_parms->tdd_config; //TDD_Config__subframeAssignment_sa3; (*sib1)->tdd_Config->subframeAssignment = frame_parms->tdd_config;
(*sib1)->tdd_Config->specialSubframePatterns=0;//frame_parms->tdd_config_S;//TDD_Config__specialSubframePatterns_ssp0; (*sib1)->tdd_Config->specialSubframePatterns = frame_parms->tdd_config_S;
} }
(*sib1)->si_WindowLength=SystemInformationBlockType1__si_WindowLength_ms20; (*sib1)->si_WindowLength=SystemInformationBlockType1__si_WindowLength_ms20;
......
...@@ -23,6 +23,8 @@ eNBs = ...@@ -23,6 +23,8 @@ eNBs =
////////// Physical parameters: ////////// Physical parameters:
frame_type = "TDD"; frame_type = "TDD";
tdd_config = 3;
tdd_config_s = 0;
prefix_type = "NORMAL"; prefix_type = "NORMAL";
eutra_band = 33; eutra_band = 33;
downlink_frequency = 1907.6e6; downlink_frequency = 1907.6e6;
......
...@@ -325,10 +325,8 @@ void get_simulation_options(int argc, char *argv[]) { ...@@ -325,10 +325,8 @@ void get_simulation_options(int argc, char *argv[]) {
case 'C': case 'C':
oai_emulation.info.tdd_config = atoi (optarg); oai_emulation.info.tdd_config = atoi (optarg);
if (oai_emulation.info.tdd_config > 6) { AssertFatal (oai_emulation.info.tdd_config <= TDD_Config__subframeAssignment_sa6, "Illegal tdd_config %d (should be 0-%d)!",
printf("Illegal tdd_config %d (should be 0-6)\n", oai_emulation.info.tdd_config); oai_emulation.info.tdd_config, TDD_Config__subframeAssignment_sa6);
exit (-1);
}
break; break;
case 'D': case 'D':
...@@ -601,8 +599,9 @@ void get_simulation_options(int argc, char *argv[]) { ...@@ -601,8 +599,9 @@ void get_simulation_options(int argc, char *argv[]) {
/* Update some simulation parameters */ /* Update some simulation parameters */
oai_emulation.info.frame_type = enb_properties->properties[0]->frame_type; oai_emulation.info.frame_type = enb_properties->properties[0]->frame_type;
oai_emulation.info.tdd_config = enb_properties->properties[0]->tdd_config;
oai_emulation.info.tdd_config_S = enb_properties->properties[0]->tdd_config_s;
oai_emulation.info.extended_prefix_flag = enb_properties->properties[0]->prefix_type; oai_emulation.info.extended_prefix_flag = enb_properties->properties[0]->prefix_type;
} }
} }
......
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