Commit 76dda4bf authored by Florian Kaltenberger's avatar Florian Kaltenberger

bugfixes in mac_xface prototypes


git-svn-id: http://svn.eurecom.fr/openair4G/trunk@5933 818b1a75-f10b-46b9-bf7c-635c3b92a50f
parent 107b352c
...@@ -75,7 +75,7 @@ inline void threegpplte_rsc_termination(unsigned char *x,unsigned char *z,unsign ...@@ -75,7 +75,7 @@ inline void threegpplte_rsc_termination(unsigned char *x,unsigned char *z,unsign
*state = (*state)>>1; *state = (*state)>>1;
} }
void treillis_table_init() { void treillis_table_init(void) {
//struct treillis t[][]=all_treillis; //struct treillis t[][]=all_treillis;
//t=memalign(16,sizeof(struct treillis)*8*256); //t=memalign(16,sizeof(struct treillis)*8*256);
int i, j,b; int i, j,b;
......
...@@ -589,7 +589,7 @@ void compute_ext16(llr_t* alpha,llr_t* beta,llr_t* m_11,llr_t* m_10,llr_t* ext, ...@@ -589,7 +589,7 @@ void compute_ext16(llr_t* alpha,llr_t* beta,llr_t* m_11,llr_t* m_10,llr_t* ext,
//int pi2[n],pi3[n+8],pi5[n+8],pi4[n+8],pi6[n+8], //int pi2[n],pi3[n+8],pi5[n+8],pi4[n+8],pi6[n+8],
int *pi2tab16[188],*pi5tab16[188],*pi4tab16[188],*pi6tab16[188]; int *pi2tab16[188],*pi5tab16[188],*pi4tab16[188],*pi6tab16[188];
void free_td16() { void free_td16(void) {
int ind; int ind;
for (ind=0;ind<188;ind++) { for (ind=0;ind<188;ind++) {
free(pi2tab16[ind]); free(pi2tab16[ind]);
......
...@@ -529,7 +529,7 @@ void compute_ext8(llr_t* alpha,llr_t* beta,llr_t* m_11,llr_t* m_10,llr_t* ext, l ...@@ -529,7 +529,7 @@ void compute_ext8(llr_t* alpha,llr_t* beta,llr_t* m_11,llr_t* m_10,llr_t* ext, l
//int pi2[n],pi3[n+8],pi5[n+8],pi4[n+8],pi6[n+8], //int pi2[n],pi3[n+8],pi5[n+8],pi4[n+8],pi6[n+8],
int *pi2tab8[188],*pi5tab8[188],*pi4tab8[188],*pi6tab8[188]; int *pi2tab8[188],*pi5tab8[188],*pi4tab8[188],*pi6tab8[188];
void free_td8() { void free_td8(void) {
int ind; int ind;
for (ind=0;ind<188;ind++) { for (ind=0;ind<188;ind++) {
free(pi2tab8[ind]); free(pi2tab8[ind]);
......
...@@ -173,7 +173,7 @@ void phy_config_sib2_ue(module_id_t Mod_id, ...@@ -173,7 +173,7 @@ void phy_config_sib2_ue(module_id_t Mod_id,
@param ho_failed flag to indicated whether the ho was successful or not @param ho_failed flag to indicated whether the ho was successful or not
*/ */
void phy_config_afterHO_ue(module_id_t Mod_id, void phy_config_afterHO_ue(module_id_t Mod_id,
int CC_id, uint8_t CC_id,
uint8_t eNB_index, uint8_t eNB_index,
MobilityControlInfo_t *mobilityControlInfo, MobilityControlInfo_t *mobilityControlInfo,
uint8_t ho_failed); uint8_t ho_failed);
...@@ -262,7 +262,7 @@ void phy_config_cba_rnti (module_id_t Mod_id,int CC_id,eNB_flag_t eNB_flag, uin ...@@ -262,7 +262,7 @@ void phy_config_cba_rnti (module_id_t Mod_id,int CC_id,eNB_flag_t eNB_flag, uin
@param adj_cell_id Array of cell ids of adjacent cells @param adj_cell_id Array of cell ids of adjacent cells
*/ */
void phy_config_meas_ue(module_id_t Mod_id, void phy_config_meas_ue(module_id_t Mod_id,
int CC_id, uint8_t CC_id,
uint8_t eNB_index, uint8_t eNB_index,
uint8_t n_adj_cells, uint8_t n_adj_cells,
uint32_t *adj_cell_id); uint32_t *adj_cell_id);
......
...@@ -472,7 +472,7 @@ void phy_config_dedicated_eNB_step2(PHY_VARS_eNB *phy_vars_eNB) { ...@@ -472,7 +472,7 @@ void phy_config_dedicated_eNB_step2(PHY_VARS_eNB *phy_vars_eNB) {
/* /*
* Configures UE MAC and PHY with radioResourceCommon received in mobilityControlInfo IE during Handover * Configures UE MAC and PHY with radioResourceCommon received in mobilityControlInfo IE during Handover
*/ */
void phy_config_afterHO_ue(uint8_t Mod_id,int CC_id,uint8_t eNB_id, MobilityControlInfo_t *mobilityControlInfo, uint8_t ho_failed) { void phy_config_afterHO_ue(uint8_t Mod_id,uint8_t CC_id,uint8_t eNB_id, MobilityControlInfo_t *mobilityControlInfo, uint8_t ho_failed) {
if(mobilityControlInfo!=NULL) { if(mobilityControlInfo!=NULL) {
RadioResourceConfigCommon_t *radioResourceConfigCommon = &mobilityControlInfo->radioResourceConfigCommon; RadioResourceConfigCommon_t *radioResourceConfigCommon = &mobilityControlInfo->radioResourceConfigCommon;
...@@ -582,7 +582,7 @@ void phy_config_afterHO_ue(uint8_t Mod_id,int CC_id,uint8_t eNB_id, MobilityCont ...@@ -582,7 +582,7 @@ void phy_config_afterHO_ue(uint8_t Mod_id,int CC_id,uint8_t eNB_id, MobilityCont
} }
} }
void phy_config_meas_ue(uint8_t Mod_id,int CC_id,uint8_t eNB_index,uint8_t n_adj_cells,unsigned int *adj_cell_id) { void phy_config_meas_ue(uint8_t Mod_id,uint8_t CC_id,uint8_t eNB_index,uint8_t n_adj_cells,unsigned int *adj_cell_id) {
PHY_MEASUREMENTS *phy_meas = &PHY_vars_UE_g[Mod_id][CC_id]->PHY_measurements; PHY_MEASUREMENTS *phy_meas = &PHY_vars_UE_g[Mod_id][CC_id]->PHY_measurements;
int i; int i;
......
...@@ -524,7 +524,7 @@ uint32_t get_rballoc(uint8_t vrb_type,uint16_t rb_alloc_dci) { ...@@ -524,7 +524,7 @@ uint32_t get_rballoc(uint8_t vrb_type,uint16_t rb_alloc_dci) {
} }
uint8_t get_transmission_mode(uint16_t Mod_id, uint8_t CC_id, uint16_t rnti) { uint8_t get_transmission_mode(module_id_t Mod_id, uint8_t CC_id, rnti_t rnti) {
unsigned char UE_id; unsigned char UE_id;
// find the UE_index corresponding to rnti // find the UE_index corresponding to rnti
......
...@@ -106,9 +106,9 @@ unsigned char I_TBS2I_MCS(unsigned char I_TBS) { ...@@ -106,9 +106,9 @@ unsigned char I_TBS2I_MCS(unsigned char I_TBS) {
return I_MCS; return I_MCS;
} }
uint64_t get_TBS_DL(uint8_t mcs, uint16_t nb_rb) { uint32_t get_TBS_DL(uint8_t mcs, uint16_t nb_rb) {
uint64_t TBS; uint32_t TBS;
if ((nb_rb > 0) && (mcs < 29)) { if ((nb_rb > 0) && (mcs < 29)) {
#ifdef TBS_FIX #ifdef TBS_FIX
...@@ -121,13 +121,13 @@ uint64_t get_TBS_DL(uint8_t mcs, uint16_t nb_rb) { ...@@ -121,13 +121,13 @@ uint64_t get_TBS_DL(uint8_t mcs, uint16_t nb_rb) {
return(TBS); return(TBS);
} }
else { else {
return(uint64_t)0; return(uint32_t)0;
} }
} }
uint64_t get_TBS_UL(uint8_t mcs, uint16_t nb_rb) { uint32_t get_TBS_UL(uint8_t mcs, uint16_t nb_rb) {
uint64_t TBS = 0; uint32_t TBS = 0;
if ((nb_rb > 0) && (mcs < 29)) { if ((nb_rb > 0) && (mcs < 29)) {
#ifdef TBS_FIX #ifdef TBS_FIX
...@@ -140,7 +140,7 @@ uint64_t get_TBS_UL(uint8_t mcs, uint16_t nb_rb) { ...@@ -140,7 +140,7 @@ uint64_t get_TBS_UL(uint8_t mcs, uint16_t nb_rb) {
return(TBS); return(TBS);
} }
else { else {
return(uint64_t)0; return(uint32_t)0;
} }
} }
......
...@@ -1205,13 +1205,13 @@ unsigned char get_I_TBS_UL(unsigned char I_MCS); ...@@ -1205,13 +1205,13 @@ unsigned char get_I_TBS_UL(unsigned char I_MCS);
@param I_MCS @param I_MCS
@param nb_rb @param nb_rb
@return Transport block size */ @return Transport block size */
uint64_t get_TBS_DL(uint8_t mcs, uint16_t nb_rb); uint32_t get_TBS_DL(uint8_t mcs, uint16_t nb_rb);
/** \brief Compute Q (modulation order) based on uplink I_MCS. Implements table 7.1.7.1-1 from 36.213. /** \brief Compute Q (modulation order) based on uplink I_MCS. Implements table 7.1.7.1-1 from 36.213.
@param I_MCS @param I_MCS
@param nb_rb @param nb_rb
@return Transport block size */ @return Transport block size */
uint64_t get_TBS_UL(uint8_t mcs, uint16_t nb_rb); uint32_t get_TBS_UL(uint8_t mcs, uint16_t nb_rb);
/* \brief Return bit-map of resource allocation for a given DCI rballoc (RIV format) and vrb type /* \brief Return bit-map of resource allocation for a given DCI rballoc (RIV format) and vrb type
@param vrb_type VRB type (0=localized,1=distributed) @param vrb_type VRB type (0=localized,1=distributed)
...@@ -1222,7 +1222,7 @@ uint32_t get_rballoc(uint8_t vrb_type,uint16_t rb_alloc_dci); ...@@ -1222,7 +1222,7 @@ uint32_t get_rballoc(uint8_t vrb_type,uint16_t rb_alloc_dci);
/* \brief Return bit-map of resource allocation for a given DCI rballoc (RIV format) and vrb type /* \brief Return bit-map of resource allocation for a given DCI rballoc (RIV format) and vrb type
@returns Transmission mode (1-7) @returns Transmission mode (1-7)
*/ */
uint8_t get_transmission_mode(uint16_t Mod_id, uint8_t CC_id, uint16_t rnti); uint8_t get_transmission_mode(module_id_t Mod_id, uint8_t CC_id, rnti_t rnti);
/* \brief /* \brief
......
...@@ -428,12 +428,12 @@ int8_t find_ue(uint16_t rnti, PHY_VARS_eNB *phy_vars_eNB); ...@@ -428,12 +428,12 @@ int8_t find_ue(uint16_t rnti, PHY_VARS_eNB *phy_vars_eNB);
int32_t add_ue(int16_t rnti, PHY_VARS_eNB *phy_vars_eNB); int32_t add_ue(int16_t rnti, PHY_VARS_eNB *phy_vars_eNB);
int32_t remove_ue(uint16_t rnti, PHY_VARS_eNB *phy_vars_eNB,uint8_t abstraction_flag); int32_t remove_ue(uint16_t rnti, PHY_VARS_eNB *phy_vars_eNB,uint8_t abstraction_flag);
void process_timing_advance(uint8_t Mod_id,uint8_t CC_id,int16_t timing_advance); void process_timing_advance(module_id_t Mod_id,uint8_t CC_id,int16_t timing_advance);
void process_timing_advance_rar(PHY_VARS_UE *phy_vars_ue,uint16_t timing_advance); void process_timing_advance_rar(PHY_VARS_UE *phy_vars_ue,uint16_t timing_advance);
unsigned int get_tx_amp(int gain_dBm, int gain_max_dBm); unsigned int get_tx_amp(int gain_dBm, int gain_max_dBm);
void phy_reset_ue(uint8_t Mod_id,uint8_t CC_id,uint8_t eNB_index); void phy_reset_ue(module_id_t Mod_id,uint8_t CC_id,uint8_t eNB_index);
/** \brief This function retrives the resource (n1_pucch) corresponding to a PDSCH transmission in /** \brief This function retrives the resource (n1_pucch) corresponding to a PDSCH transmission in
subframe n-4 which is acknowledged in subframe n (for FDD) according to n1_pucch = Ncce + N1_pucch. For subframe n-4 which is acknowledged in subframe n (for FDD) according to n1_pucch = Ncce + N1_pucch. For
...@@ -523,7 +523,7 @@ LTE_eNB_UE_stats* get_eNB_UE_stats(uint8_t Mod_id, uint8_t CC_id,uint16_t rnti); ...@@ -523,7 +523,7 @@ LTE_eNB_UE_stats* get_eNB_UE_stats(uint8_t Mod_id, uint8_t CC_id,uint16_t rnti);
LTE_DL_FRAME_PARMS *get_lte_frame_parms(module_id_t Mod_id, uint8_t CC_id); LTE_DL_FRAME_PARMS *get_lte_frame_parms(module_id_t Mod_id, uint8_t CC_id);
MU_MIMO_mode* get_mu_mimo_mode (module_id_t Mod_id, uint8_t CC_id); MU_MIMO_mode* get_mu_mimo_mode (module_id_t Mod_id, uint8_t CC_id, rnti_t rnti);
int16_t get_hundred_times_delta_IF(PHY_VARS_UE *phy_vars_ue,uint8_t eNB_id,uint8_t harq_pid); int16_t get_hundred_times_delta_IF(PHY_VARS_UE *phy_vars_ue,uint8_t eNB_id,uint8_t harq_pid);
......
...@@ -590,7 +590,7 @@ LTE_DL_FRAME_PARMS* get_lte_frame_parms(module_id_t Mod_id, uint8_t CC_id){ ...@@ -590,7 +590,7 @@ LTE_DL_FRAME_PARMS* get_lte_frame_parms(module_id_t Mod_id, uint8_t CC_id){
} }
MU_MIMO_mode *get_mu_mimo_mode (module_id_t Mod_id, uint8_t CC_id){ MU_MIMO_mode *get_mu_mimo_mode (module_id_t Mod_id, uint8_t CC_id, rnti_t rnti){
return(&PHY_vars_eNB_g[Mod_id][CC_id]->mu_mimo_mode); return(&PHY_vars_eNB_g[Mod_id][CC_id]->mu_mimo_mode[find_ue(rnti,PHY_vars_eNB_g[Mod_id][CC_id])]);
} }
...@@ -69,7 +69,7 @@ void ue_mac_reset(module_id_t module_idP,uint8_t eNB_index) { ...@@ -69,7 +69,7 @@ void ue_mac_reset(module_id_t module_idP,uint8_t eNB_index) {
//timeAlignmentTimer expires //timeAlignmentTimer expires
// PHY changes for UE MAC reset // PHY changes for UE MAC reset
mac_xface->phy_reset_ue(module_idP,eNB_index); mac_xface->phy_reset_ue(module_idP,0,eNB_index);
// notify RRC to relase PUCCH/SRS // notify RRC to relase PUCCH/SRS
// cancel all pending SRs // cancel all pending SRs
...@@ -346,7 +346,7 @@ int rrc_mac_config_req(module_id_t Mod_id, eNB_flag_t eNB_flagP,uint8_t UE_id,ui ...@@ -346,7 +346,7 @@ int rrc_mac_config_req(module_id_t Mod_id, eNB_flag_t eNB_flagP,uint8_t UE_id,ui
(void*)mobilityControlInfo->rach_ConfigDedicated, (void*)mobilityControlInfo->rach_ConfigDedicated,
sizeof(*mobilityControlInfo->rach_ConfigDedicated)); sizeof(*mobilityControlInfo->rach_ConfigDedicated));
} }
mac_xface->phy_config_afterHO_ue(Mod_id,eNB_index,mobilityControlInfo,0); mac_xface->phy_config_afterHO_ue(Mod_id,0,eNB_index,mobilityControlInfo,0);
} }
} }
......
...@@ -41,7 +41,7 @@ ...@@ -41,7 +41,7 @@
#include "UTIL/LOG/log.h" #include "UTIL/LOG/log.h"
#include "proto.h" #include "proto.h"
int8_t get_Po_NOMINAL_PUSCH(module_id_t module_idP,int CC_id) { int8_t get_Po_NOMINAL_PUSCH(module_id_t module_idP,uint8_t CC_id) {
RACH_ConfigCommon_t *rach_ConfigCommon = NULL; RACH_ConfigCommon_t *rach_ConfigCommon = NULL;
if (CC_id>0) { if (CC_id>0) {
...@@ -61,7 +61,7 @@ int8_t get_Po_NOMINAL_PUSCH(module_id_t module_idP,int CC_id) { ...@@ -61,7 +61,7 @@ int8_t get_Po_NOMINAL_PUSCH(module_id_t module_idP,int CC_id) {
get_DELTA_PREAMBLE(module_idP,CC_id)); get_DELTA_PREAMBLE(module_idP,CC_id));
} }
int8_t get_deltaP_rampup(module_id_t module_idP,int CC_id) { int8_t get_deltaP_rampup(module_id_t module_idP,uint8_t CC_id) {
if (CC_id>0) { if (CC_id>0) {
LOG_E(MAC,"Transmission on secondary CCs is not supported yet\n"); LOG_E(MAC,"Transmission on secondary CCs is not supported yet\n");
......
...@@ -136,7 +136,7 @@ void schedule_ue_spec(module_id_t module_idP,frame_t frameP,sub_frame_t subframe ...@@ -136,7 +136,7 @@ void schedule_ue_spec(module_id_t module_idP,frame_t frameP,sub_frame_t subframe
@param Mod_id Module id of UE @param Mod_id Module id of UE
@returns Po_NOMINAL_PUSCH (PREAMBLE_RECEIVED_TARGET_POWER+DELTA_PREAMBLE @returns Po_NOMINAL_PUSCH (PREAMBLE_RECEIVED_TARGET_POWER+DELTA_PREAMBLE
*/ */
int8_t get_Po_NOMINAL_PUSCH(module_id_t module_idP,int CC_id); int8_t get_Po_NOMINAL_PUSCH(module_id_t module_idP,uint8_t CC_id);
/** \brief Function to compute DELTA_PREAMBLE from 36.321 (for RA power ramping procedure and Msg3 PUSCH power control policy) /** \brief Function to compute DELTA_PREAMBLE from 36.321 (for RA power ramping procedure and Msg3 PUSCH power control policy)
@param Mod_id Module id of UE @param Mod_id Module id of UE
...@@ -148,7 +148,7 @@ int8_t get_DELTA_PREAMBLE(module_id_t module_idP,int CC_id); ...@@ -148,7 +148,7 @@ int8_t get_DELTA_PREAMBLE(module_id_t module_idP,int CC_id);
@param Mod_id Module id of UE @param Mod_id Module id of UE
@returns deltaP_rampup @returns deltaP_rampup
*/ */
int8_t get_deltaP_rampup(module_id_t module_idP,int CC_id); int8_t get_deltaP_rampup(module_id_t module_idP,uint8_t CC_id);
//main.c //main.c
...@@ -621,7 +621,7 @@ void update_phr (module_id_t module_idP,int CC_id); ...@@ -621,7 +621,7 @@ void update_phr (module_id_t module_idP,int CC_id);
\param[in] Mod_id Instance index of UE \param[in] Mod_id Instance index of UE
\param[in] eNB_id Index of eNB \param[in] eNB_id Index of eNB
*/ */
void Msg3_tx(module_id_t module_idP,int CC_id,frame_t frameP,uint8_t eNB_id); void Msg3_tx(module_id_t module_idP,uint8_t CC_id,frame_t frameP,uint8_t eNB_id);
/*! \brief Function to indicate the transmission of msg1/rach /*! \brief Function to indicate the transmission of msg1/rach
...@@ -629,7 +629,7 @@ void Msg3_tx(module_id_t module_idP,int CC_id,frame_t frameP,uint8_t eNB_id); ...@@ -629,7 +629,7 @@ void Msg3_tx(module_id_t module_idP,int CC_id,frame_t frameP,uint8_t eNB_id);
\param[in] eNB_id Index of eNB \param[in] eNB_id Index of eNB
*/ */
void Msg1_tx(module_id_t module_idP,int CC_id,frame_t frameP, uint8_t eNB_id); void Msg1_tx(module_id_t module_idP,uint8_t CC_id,frame_t frameP, uint8_t eNB_id);
void dl_phy_sync_success(module_id_t module_idP, void dl_phy_sync_success(module_id_t module_idP,
frame_t frameP, frame_t frameP,
......
...@@ -200,7 +200,7 @@ void get_prach_resources(module_id_t module_idP, ...@@ -200,7 +200,7 @@ void get_prach_resources(module_id_t module_idP,
UE_mac_inst[module_idP].RA_prach_resources.ra_RNTI = 1 + t_id + 10*f_id; UE_mac_inst[module_idP].RA_prach_resources.ra_RNTI = 1 + t_id + 10*f_id;
} }
void Msg1_tx(module_id_t module_idP,int CC_id,frame_t frameP, uint8_t eNB_id) { void Msg1_tx(module_id_t module_idP,uint8_t CC_id,frame_t frameP, uint8_t eNB_id) {
if (CC_id>0) { if (CC_id>0) {
LOG_E(MAC,"Transmission on secondary CCs is not supported yet\n"); LOG_E(MAC,"Transmission on secondary CCs is not supported yet\n");
...@@ -221,7 +221,7 @@ void Msg1_tx(module_id_t module_idP,int CC_id,frame_t frameP, uint8_t eNB_id) { ...@@ -221,7 +221,7 @@ void Msg1_tx(module_id_t module_idP,int CC_id,frame_t frameP, uint8_t eNB_id) {
} }
void Msg3_tx(module_id_t module_idP,int CC_id,frame_t frameP, uint8_t eNB_id) { void Msg3_tx(module_id_t module_idP,uint8_t CC_id,frame_t frameP, uint8_t eNB_id) {
if (CC_id>0) { if (CC_id>0) {
LOG_E(MAC,"Transmission on secondary CCs is not supported yet\n"); LOG_E(MAC,"Transmission on secondary CCs is not supported yet\n");
......
...@@ -1394,7 +1394,7 @@ UE_L2_STATE_t ue_scheduler(module_id_t module_idP,frame_t frameP, sub_frame_t su ...@@ -1394,7 +1394,7 @@ UE_L2_STATE_t ue_scheduler(module_id_t module_idP,frame_t frameP, sub_frame_t su
case RRC_Handover_failed: case RRC_Handover_failed:
LOG_N(MAC,"Handover failure for UE %d eNB_index %d\n",module_idP,eNB_indexP); LOG_N(MAC,"Handover failure for UE %d eNB_index %d\n",module_idP,eNB_indexP);
//Invalid...need to add another MAC UE state for re-connection procedure //Invalid...need to add another MAC UE state for re-connection procedure
mac_xface->phy_config_afterHO_ue(module_idP,eNB_indexP,(MobilityControlInfo_t *)NULL,1); mac_xface->phy_config_afterHO_ue(module_idP,0,eNB_indexP,(MobilityControlInfo_t *)NULL,1);
//return(3); //return(3);
break; break;
case RRC_HO_STARTED: case RRC_HO_STARTED:
......
...@@ -139,7 +139,7 @@ typedef struct ...@@ -139,7 +139,7 @@ typedef struct
/// UE functions /// UE functions
/// reset the ue phy /// reset the ue phy
void (*phy_reset_ue)(module_id_t Mod_id,uint8_t eNB_index); void (*phy_reset_ue)(module_id_t Mod_id,uint8_t CC_id,uint8_t eNB_index);
/// Indicate loss of synchronization of PBCH for this eNB to MAC layer /// Indicate loss of synchronization of PBCH for this eNB to MAC layer
void (*out_of_sync_ind)(module_id_t Mod_id,frame_t frameP,uint16_t eNB_index); void (*out_of_sync_ind)(module_id_t Mod_id,frame_t frameP,uint16_t eNB_index);
...@@ -206,7 +206,7 @@ typedef struct ...@@ -206,7 +206,7 @@ typedef struct
int CC_id); int CC_id);
#endif #endif
/// Configure Common PHY parameters from mobilityControlInfo /// Configure Common PHY parameters from mobilityControlInfo
void (*phy_config_afterHO_ue)(module_id_t Mod_id,uint8_t CH_index, void (*phy_config_afterHO_ue)(module_id_t Mod_id,uint8_t CC_id,uint8_t CH_index,
MobilityControlInfo_t *mobilityControlInfo, MobilityControlInfo_t *mobilityControlInfo,
uint8_t ho_failed); uint8_t ho_failed);
...@@ -231,10 +231,10 @@ typedef struct ...@@ -231,10 +231,10 @@ typedef struct
uint16_t (*computeRIV)(uint16_t N_RB_DL,uint16_t RBstart,uint16_t Lcrbs); uint16_t (*computeRIV)(uint16_t N_RB_DL,uint16_t RBstart,uint16_t Lcrbs);
/// Downlink TBS table lookup from PHY /// Downlink TBS table lookup from PHY
uint16_t (*get_TBS_DL)(uint8_t mcs, uint16_t nb_rb); uint32_t (*get_TBS_DL)(uint8_t mcs, uint16_t nb_rb);
/// Uplink TBS table lookup from PHY /// Uplink TBS table lookup from PHY
uint16_t (*get_TBS_UL)(uint8_t mcs, uint16_t nb_rb); uint32_t (*get_TBS_UL)(uint8_t mcs, uint16_t nb_rb);
/// Function to retrieve the HARQ round index for a particular UL/DLSCH and harq_pid /// Function to retrieve the HARQ round index for a particular UL/DLSCH and harq_pid
int (*get_ue_active_harq_pid)(module_id_t Mod_id, uint8_t CC_id,rnti_t rnti, int frame, uint8_t subframe, uint8_t *harq_pid, uint8_t *round, uint8_t ul_flag); int (*get_ue_active_harq_pid)(module_id_t Mod_id, uint8_t CC_id,rnti_t rnti, int frame, uint8_t subframe, uint8_t *harq_pid, uint8_t *round, uint8_t ul_flag);
...@@ -300,13 +300,13 @@ typedef struct ...@@ -300,13 +300,13 @@ typedef struct
/// Function for UE/PHY to compute PHR /// Function for UE/PHY to compute PHR
int8_t (*get_PHR)(module_id_t Mod_id, uint8_t CC_id,uint8_t eNB_index); int8_t (*get_PHR)(module_id_t Mod_id, uint8_t CC_id,uint8_t eNB_index);
void (*process_timing_advance)(module_id_t Mod_id,int16_t timing_advance); void (*process_timing_advance)(module_id_t Mod_id,uint8_t CC_id, int16_t timing_advance);
LTE_eNB_UE_stats* (*get_eNB_UE_stats)(module_id_t Mod_id, uint8_t CC_id, rnti_t rnti); LTE_eNB_UE_stats* (*get_eNB_UE_stats)(module_id_t Mod_id, uint8_t CC_id, rnti_t rnti);
LTE_DL_FRAME_PARMS* (*get_lte_frame_parms)(module_id_t Mod_id, uint8_t CC_id); LTE_DL_FRAME_PARMS* (*get_lte_frame_parms)(module_id_t Mod_id, uint8_t CC_id);
MU_MIMO_mode* (*get_mu_mimo_mode) (module_id_t Mod_id, uint8_t CC_id); MU_MIMO_mode* (*get_mu_mimo_mode) (module_id_t Mod_id, uint8_t CC_id, rnti_t rnti);
int16_t (*get_hundred_times_delta_TF) (module_id_t module_idP, uint8_t CC_id, rnti_t rnti, uint8_t harq_pid); int16_t (*get_hundred_times_delta_TF) (module_id_t module_idP, uint8_t CC_id, rnti_t rnti, uint8_t harq_pid);
......
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