Applied S. Held's patches 16, additional modifications for UE frequency scanning and RSRP/RSSI calibration for ExpressMIMO2 and USRP B210
git-svn-id: http://svn.eurecom.fr/openair4G/trunk@7536 818b1a75-f10b-46b9-bf7c-635c3b92a50f
This commit is contained in:
@@ -195,10 +195,10 @@ typedef struct UE_RRC_INFO_s {
|
||||
#ifdef Rel10
|
||||
uint8_t MCCHStatus[8]; // MAX_MBSFN_AREA
|
||||
#endif
|
||||
uint8_t SIwindowsize;
|
||||
uint8_t SIwindowsize; //!< Corresponds to the SIB1 si-WindowLength parameter. The unit is ms. Possible values are (final): 1,2,5,10,15,20,40
|
||||
uint8_t handoverTarget;
|
||||
HO_STATE_t ho_state;
|
||||
uint16_t SIperiod;
|
||||
uint16_t SIperiod; //!< Corresponds to the SIB1 si-Periodicity parameter (multiplied by 10). Possible values are (final): 80,160,320,640,1280,2560,5120
|
||||
unsigned short UE_index;
|
||||
uint32_t T300_active;
|
||||
uint32_t T300_cnt;
|
||||
@@ -460,7 +460,7 @@ typedef struct UE_RRC_INST_s {
|
||||
uint8_t SIB1Status[NB_CNX_UE];
|
||||
uint8_t SIStatus[NB_CNX_UE];
|
||||
SystemInformationBlockType1_t *sib1[NB_CNX_UE];
|
||||
SystemInformation_t *si[NB_CNX_UE][8];
|
||||
SystemInformation_t *si[NB_CNX_UE]; //!< Temporary storage for an SI message. Decoding happens in decode_SI().
|
||||
SystemInformationBlockType2_t *sib2[NB_CNX_UE];
|
||||
SystemInformationBlockType3_t *sib3[NB_CNX_UE];
|
||||
SystemInformationBlockType4_t *sib4[NB_CNX_UE];
|
||||
|
||||
@@ -77,12 +77,7 @@ rrc_rx_tx(
|
||||
\param ctxt_pP Running context
|
||||
\param Srb_info Pointer to SRB_INFO structure (SRB0)
|
||||
\param eNB_index Index of corresponding eNB/CH*/
|
||||
int
|
||||
rrc_ue_decode_ccch(
|
||||
const protocol_ctxt_t* const ctxt_pP,
|
||||
const SRB_INFO* const Srb_info,
|
||||
const uint8_t eNB_index
|
||||
);
|
||||
int rrc_ue_decode_ccch( const protocol_ctxt_t* const ctxt_pP, const SRB_INFO* const Srb_info, const uint8_t eNB_index );
|
||||
|
||||
/** \brief Decodes a DL-DCCH message and invokes appropriate routine to handle the message
|
||||
\param ctxt_pP Running context
|
||||
@@ -106,17 +101,6 @@ rrc_ue_generate_RRCConnectionRequest(
|
||||
const uint8_t eNB_index
|
||||
);
|
||||
|
||||
/** \brief Generates/Encodes RRCConnnectionSetupComplete message at UE
|
||||
\param ctxt_pP Running context
|
||||
\param eNB_index Index of corresponding eNB/CH
|
||||
\param Transaction_id Transaction identifier*/
|
||||
void
|
||||
rrc_ue_generate_RRCConnectionSetupComplete(
|
||||
const protocol_ctxt_t* const ctxt_pP,
|
||||
const uint8_t eNB_index,
|
||||
const uint8_t Transaction_id
|
||||
);
|
||||
|
||||
/** \brief process the received rrcConnectionReconfiguration message at UE
|
||||
\param ctxt_pP Running context
|
||||
\param *rrcConnectionReconfiguration pointer to the sturcture
|
||||
@@ -128,17 +112,6 @@ rrc_ue_process_rrcConnectionReconfiguration(
|
||||
uint8_t eNB_index
|
||||
);
|
||||
|
||||
/** \brief Generates/Encodes RRCConnectionReconfigurationComplete message at UE
|
||||
\param ctxt_pP Running context
|
||||
\param eNB_index Index of corresponding eNB/CH
|
||||
\param Transaction_id RRC transaction identifier */
|
||||
void
|
||||
rrc_ue_generate_RRCConnectionReconfigurationComplete(
|
||||
const protocol_ctxt_t* const ctxt_pP,
|
||||
const uint8_t eNB_index,
|
||||
const uint8_t Transaction_id
|
||||
);
|
||||
|
||||
/** \brief Establish SRB1 based on configuration in SRB_ToAddMod structure. Configures RLC/PDCP accordingly
|
||||
\param module_idP Instance ID of UE
|
||||
\param frame Frame index
|
||||
@@ -347,41 +320,15 @@ void rrc_lite_in_sync_ind(module_id_t module_idP, frame_t frameP, uint16_t eNB_i
|
||||
|
||||
void rrc_lite_out_of_sync_ind(module_id_t module_idP, frame_t frameP, unsigned short eNB_index);
|
||||
|
||||
int
|
||||
decode_MCCH_Message(
|
||||
const protocol_ctxt_t* const ctxt_pP,
|
||||
const uint8_t eNB_index,
|
||||
const uint8_t* const Sdu,
|
||||
const uint8_t Sdu_len,
|
||||
const uint8_t mbsfn_sync_area
|
||||
);
|
||||
int decode_MCCH_Message( const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index, const uint8_t* const Sdu, const uint8_t Sdu_len, const uint8_t mbsfn_sync_area );
|
||||
|
||||
void decode_MBSFNAreaConfiguration(module_id_t module_idP, uint8_t eNB_index, frame_t frameP,uint8_t mbsfn_sync_area);
|
||||
|
||||
int
|
||||
decode_BCCH_DLSCH_Message(
|
||||
int decode_BCCH_DLSCH_Message(
|
||||
const protocol_ctxt_t* const ctxt_pP,
|
||||
const uint8_t eNB_index,
|
||||
uint8_t* const Sdu,
|
||||
const uint8_t Sdu_len,
|
||||
const uint8_t rsrq,
|
||||
const uint8_t rsrp
|
||||
);
|
||||
|
||||
int
|
||||
decode_SIB1(
|
||||
const protocol_ctxt_t* const ctxt_pP,
|
||||
const uint8_t eNB_index,
|
||||
const uint8_t rsrq,
|
||||
const uint8_t rsrp
|
||||
);
|
||||
|
||||
int
|
||||
decode_SI(
|
||||
const protocol_ctxt_t* const ctxt_pP,
|
||||
const uint8_t eNB_index,
|
||||
const uint8_t si_window
|
||||
);
|
||||
const uint8_t rsrp );
|
||||
|
||||
void
|
||||
ue_meas_filtering(
|
||||
@@ -426,12 +373,6 @@ rrc_eNB_process_MeasurementReport(
|
||||
const MeasResults_t* const measResults2
|
||||
);
|
||||
|
||||
void
|
||||
rrc_ue_generate_MeasurementReport(
|
||||
const protocol_ctxt_t* const ctxt_pP,
|
||||
uint8_t eNB_index
|
||||
);
|
||||
|
||||
void
|
||||
rrc_eNB_generate_HandoverPreparationInformation(
|
||||
const protocol_ctxt_t* const ctxt_pP,
|
||||
@@ -444,15 +385,6 @@ check_handovers(
|
||||
protocol_ctxt_t* const ctxt_pP
|
||||
);
|
||||
|
||||
uint8_t check_trigger_meas_event(
|
||||
uint8_t module_idP,
|
||||
frame_t frameP,
|
||||
uint8_t eNB_index,
|
||||
uint8_t ue_cnx_index,
|
||||
uint8_t meas_index,
|
||||
Q_OffsetRange_t ofn, Q_OffsetRange_t ocn, Hysteresis_t hys,
|
||||
Q_OffsetRange_t ofs, Q_OffsetRange_t ocs, long a3_offset, TimeToTrigger_t ttt);
|
||||
|
||||
//void rrc_ue_process_ueCapabilityEnquiry(uint8_t module_idP,uint32_t frame,UECapabilityEnquiry_t *UECapabilityEnquiry,uint8_t eNB_index);
|
||||
/*void
|
||||
rrc_ue_process_securityModeCommand(
|
||||
|
||||
+787
-483
File diff suppressed because it is too large
Load Diff
@@ -378,7 +378,7 @@ init_MCCH(
|
||||
int sync_area = 0;
|
||||
// initialize RRC_eNB_INST MCCH entry
|
||||
eNB_rrc_inst[enb_mod_idP].carrier[CC_id].MCCH_MESSAGE =
|
||||
malloc(eNB_rrc_inst[enb_mod_idP].carrier[CC_id].num_mbsfn_sync_area * sizeof(uint32_t *));
|
||||
malloc(eNB_rrc_inst[enb_mod_idP].carrier[CC_id].num_mbsfn_sync_area * sizeof(uint8_t*));
|
||||
|
||||
for (sync_area = 0; sync_area < eNB_rrc_inst[enb_mod_idP].carrier[CC_id].num_mbsfn_sync_area; sync_area++) {
|
||||
|
||||
@@ -3289,9 +3289,11 @@ openair_rrc_lite_eNB_init(
|
||||
// }
|
||||
// }
|
||||
eNB_rrc_inst[ctxt.module_id].Nb_ue = 0;
|
||||
|
||||
for (CC_id = 0; CC_id < MAX_NUM_CCs; CC_id++) {
|
||||
eNB_rrc_inst[ctxt.module_id].carrier[CC_id].Srb0.Active = 0;
|
||||
}
|
||||
|
||||
uid_linear_allocator_init(&eNB_rrc_inst[ctxt.module_id].uid_allocator);
|
||||
RB_INIT(&eNB_rrc_inst[ctxt.module_id].rrc_ue_head);
|
||||
RB_INIT(&eNB_rrc_inst[ctxt.module_id].rrc_rnti_head);
|
||||
@@ -3334,6 +3336,7 @@ openair_rrc_lite_eNB_init(
|
||||
eNB_rrc_inst[ctxt.module_id].carrier[CC_id].cba_rnti[3],
|
||||
eNB_rrc_inst[ctxt.module_id].carrier[CC_id].num_active_cba_groups);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
for (CC_id = 0; CC_id < MAX_NUM_CCs; CC_id++) {
|
||||
|
||||
Reference in New Issue
Block a user