Commit 7a704567 authored by Matthieu Kanj's avatar Matthieu Kanj

removing warnings (115 remaining) +

creation of two new files: openair1/PHY/LTE_ESTIMATION/defs_NB_IoT.h
openair1/PHY/LTE_ESTIMATION/lte_adjust_sync_NB_IoT.c
parent 2a792c1c
......@@ -1039,6 +1039,7 @@ set(PHY_SRC
${OPENAIR1_DIR}/PHY/LTE_ESTIMATION/lte_sync_time.c
${OPENAIR1_DIR}/PHY/LTE_ESTIMATION/lte_sync_timefreq.c
${OPENAIR1_DIR}/PHY/LTE_ESTIMATION/lte_adjust_sync.c
${OPENAIR1_DIR}/PHY/LTE_ESTIMATION/lte_adjust_sync_NB_IoT.c
${OPENAIR1_DIR}/PHY/LTE_ESTIMATION/lte_dl_channel_estimation.c
${OPENAIR1_DIR}/PHY/LTE_ESTIMATION/lte_dl_bf_channel_estimation.c
${OPENAIR1_DIR}/PHY/LTE_ESTIMATION/lte_dl_mbsfn_channel_estimation.c
......
/*
* Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The OpenAirInterface Software Alliance licenses this file to You under
* the OAI Public License, Version 1.0 (the "License"); you may not use this file
* except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.openairinterface.org/?page_id=698
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*-------------------------------------------------------------------------------
* For more information about the OpenAirInterface (OAI) Software Alliance:
* contact@openairinterface.org
*/
#ifndef __LTE_ESTIMATION_DEFS_NB_IOT__H__
#define __LTE_ESTIMATION_DEFS_NB_IOT__H__
#include "PHY/defs_NB_IoT.h"
/*
int lte_est_timing_advance(NB_IoT_DL_FRAME_PARMS *frame_parms,
NB_IoT_eNB_SRS *lte_eNb_srs,
unsigned int *eNb_id,
unsigned char clear,
unsigned char number_of_cards,
short coef);
*/
int NB_IoT_est_timing_advance_pusch(PHY_VARS_eNB_NB_IoT* phy_vars_eNB,module_id_t UE_id);
/** @} */
#endif
/*
* Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The OpenAirInterface Software Alliance licenses this file to You under
* the OAI Public License, Version 1.0 (the "License"); you may not use this file
* except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.openairinterface.org/?page_id=698
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*-------------------------------------------------------------------------------
* For more information about the OpenAirInterface (OAI) Software Alliance:
* contact@openairinterface.org
*/
//#include "PHY/types.h"
#include "PHY/defs_NB_IoT.h"
//#include "PHY/extern.h"
//#include "UTIL/LOG/vcd_signal_dumper.h"
#define DEBUG_PHY
int NB_IoT_est_timing_advance_pusch(PHY_VARS_eNB_NB_IoT* eNB,uint8_t UE_id)
{
static int first_run=1;
static int max_pos_fil2=0;
int temp, i, aa, max_pos=0, max_val=0;
short Re,Im,coef=24576;
short ncoef = 32768 - coef;
NB_IoT_DL_FRAME_PARMS *frame_parms = &eNB->frame_parms;
NB_IoT_eNB_PUSCH *eNB_pusch_vars = eNB->pusch_vars[UE_id];
int32_t **ul_ch_estimates_time= eNB_pusch_vars->drs_ch_estimates_time[0];
uint8_t cyclic_shift = 0;
int sync_pos = (frame_parms->ofdm_symbol_size-cyclic_shift*frame_parms->ofdm_symbol_size/12)%(frame_parms->ofdm_symbol_size);
for (i = 0; i < frame_parms->ofdm_symbol_size; i++) {
temp = 0;
for (aa=0; aa<frame_parms->nb_antennas_rx; aa++) {
Re = ((int16_t*)ul_ch_estimates_time[aa])[(i<<1)];
Im = ((int16_t*)ul_ch_estimates_time[aa])[1+(i<<1)];
temp += (Re*Re/2) + (Im*Im/2);
}
if (temp > max_val) {
max_pos = i;
max_val = temp;
}
}
if (max_pos>frame_parms->ofdm_symbol_size/2)
max_pos = max_pos-frame_parms->ofdm_symbol_size;
// filter position to reduce jitter
if (first_run == 1) {
first_run=0;
max_pos_fil2 = max_pos;
} else
max_pos_fil2 = ((max_pos_fil2 * coef) + (max_pos * ncoef)) >> 15;
#ifdef DEBUG_PHY
LOG_D(PHY,"frame %d: max_pos = %d, max_pos_fil = %d, sync_pos=%d\n",eNB->proc.frame_rx,max_pos,max_pos_fil2,sync_pos);
#endif //DEBUG_PHY
return(max_pos_fil2-sync_pos);
}
......@@ -1263,7 +1263,7 @@ uint16_t pucchfmt3_ChannelEstimation( int16_t SubCarrierDeMapData[NB_ANTENNAS_RX
int32_t IP_CsData_allsfavg[NB_ANTENNAS_RX][14][4][2];
int32_t IP_allavg[D_NPUCCH_SF5];
//int16_t temp_ch[2];
int16_t m[NUMBER_OF_UE_MAX], m_self, same_m_number;
int16_t m[NUMBER_OF_UE_MAX], m_self=0, same_m_number;
uint16_t n3_pucch_sameRB[NUMBER_OF_UE_MAX];
int16_t n_oc0[NUMBER_OF_UE_MAX];
int16_t n_oc1[NUMBER_OF_UE_MAX];
......
......@@ -201,6 +201,7 @@ typedef struct {
uint8_t srsUeSubframe;
} SOUNDINGRS_UL_CONFIG_DEDICATED_NB_IoT;
/// Enumeration for parameter SR transmission \ref SCHEDULING_REQUEST_CONFIG::dsr_TransMax.
typedef enum {
//sr_n4=0,
......
......@@ -32,6 +32,7 @@
//#include "PHY/defs.h"
#include "PHY/defs_NB_IoT.h"
#include "PHY/LTE_ESTIMATION/defs_NB_IoT.h"
//#include "PHY/extern_NB_IoT.h" //where we get the global Sched_Rsp_t structure filled
//#include "SCHED/defs.h"
#include "SCHED/extern_NB_IoT.h"
......@@ -168,7 +169,7 @@ void phy_procedures_eNB_uespec_RX_NB_IoT(PHY_VARS_eNB_NB_IoT *eNB,eNB_rxtx_proc_
//RX processing for ue-specific resources (i
uint32_t ret=0,i,j,k;
uint32_t harq_pid,round;
uint32_t harq_pid; // round;
int sync_pos;
uint16_t rnti=0;
uint8_t access_mode;
......@@ -192,27 +193,23 @@ void phy_procedures_eNB_uespec_RX_NB_IoT(PHY_VARS_eNB_NB_IoT *eNB,eNB_rxtx_proc_
//if ((fp->frame_type == TDD) && (subframe_select(fp,subframe)!=SF_UL)) return;
//check if any RB using in this UL subframe
eNB->rb_mask_ul[0]=0;
eNB->rb_mask_ul[1]=0;
eNB->rb_mask_ul[2]=0;
eNB->rb_mask_ul[3]=0;
eNB->rb_mask_ul[0] = 0;
eNB->rb_mask_ul[1] = 0;
eNB->rb_mask_ul[2] = 0;
eNB->rb_mask_ul[3] = 0;
// Check for active processes in current subframe
// NB-IoT subframe2harq_pid is in dci_tools, always set the frame type to FDD, this would become simpler.
harq_pid = subframe2harq_pid_NB_IoT(fp,frame,subframe);
// delete the cba
// delete the srs
/*Loop over the UE, i is the UE ID */
for (i=0; i<NUMBER_OF_UE_MAX_NB_IoT; i++)
{
// delete srs
// delete Pucch procedure
// check for Msg3
if (eNB->mac_enabled==1)
{
......@@ -233,7 +230,7 @@ void phy_procedures_eNB_uespec_RX_NB_IoT(PHY_VARS_eNB_NB_IoT *eNB,eNB_rxtx_proc_
(eNB->nulsch[i]->harq_process->subframe_scheduling_flag==1))
{
// UE is has ULSCH scheduling
round = eNB->nulsch[i]->harq_process->round;
//////////////////////////////////////round = eNB->nulsch[i]->harq_process->round; //commented to remove warning, to be added if round is used
/*NB-IoT The nb_rb always set to 1 */
for (int rb=0;rb<=eNB->nulsch[i]->harq_process->nb_rb;rb++)
{
......@@ -455,7 +452,7 @@ void phy_procedures_eNB_uespec_RX_NB_IoT(PHY_VARS_eNB_NB_IoT *eNB,eNB_rxtx_proc_
} // Msg3_flag == 0
// estimate timing advance for MAC
sync_pos = lte_est_timing_advance_pusch(eNB,i);
sync_pos = NB_IoT_est_timing_advance_pusch(eNB,i);
eNB->UE_stats[i].timing_advance_update = sync_pos - fp->nb_prefix_samples/4; //to check
} // ulsch not in error
......@@ -693,16 +690,14 @@ void npdsch_procedures(PHY_VARS_eNB_NB_IoT *eNB,
//uint8_t DLSCH_pdu_rar[256];
int i;
LOG_D(PHY,
"[eNB %"PRIu8"][PDSCH rnti%"PRIx16"] Frame %d, subframe %d: Generating PDSCH/DLSCH with input size = %"PRIu16", mcs %"PRIu8"(round %"PRIu8")\n",
eNB->Mod_id,
ndlsch->rnti,
frame, subframe, input_buffer_length,
ndlsch_harq->mcs,
ndlsch_harq->round);
ndlsch_harq->round
);
if(ndlsch_harq->round == 0) { //first transmission so we encode... because we generate the sequence
......@@ -725,19 +720,21 @@ void npdsch_procedures(PHY_VARS_eNB_NB_IoT *eNB,
}
else { //XXX we should change taus function???
DLSCH_pdu = DLSCH_pdu_tmp;
for (i=0; i<input_buffer_length; i++)
DLSCH_pdu[i] = (unsigned char)(taus()&0xff);
}
}
else {
//We are doing a retransmission (harq round > 0
#ifdef DEBUG_PHY_PROC
#ifdef DEBUG_DLSCH
#ifdef DEBUG_PHY_PROC
#ifdef DEBUG_DLSCH
LOG_D(PHY,"[eNB] This DLSCH is a retransmission\n");
#endif
#endif
#endif
#endif
}
if (eNB->abstraction_flag==0) { // used for simulation of the PHY??
......@@ -820,19 +817,17 @@ void npdsch_procedures(PHY_VARS_eNB_NB_IoT *eNB,
break;
}
//start_meas_NB_IoT(&eNB->dlsch_encoding_stats);
LOG_I(PHY, "NB-IoT Encoding step\n");
// eNB->te(eNB,
// DLSCH_pdu,
// num_pdcch_symbols,
// dlsch,
// frame,subframe,
// &eNB->dlsch_rate_matching_stats,
// &eNB->dlsch_turbo_encoding_stats,
// &eNB->dlsch_interleaving_stats);
// eNB->te(eNB,
// DLSCH_pdu,
// num_pdcch_symbols,
// dlsch,
// frame,subframe,
// &eNB->dlsch_rate_matching_stats,
// &eNB->dlsch_turbo_encoding_stats,
// &eNB->dlsch_interleaving_stats);
// stop_meas_NB_IoT(&eNB->dlsch_encoding_stats);
......@@ -849,19 +844,19 @@ void npdsch_procedures(PHY_VARS_eNB_NB_IoT *eNB,
*
*/
// dlsch_scrambling(fp,
// 0,
// dlsch,
// get_G(fp,
// dlsch_harq->nb_rb,
// dlsch_harq->rb_alloc,
// get_Qm(dlsch_harq->mcs),
// dlsch_harq->Nl,
// num_pdcch_symbols,
// frame,subframe,
// 0),
// 0,
// subframe<<1);
// dlsch_scrambling(fp,
// 0,
// dlsch,
// get_G(fp,
// dlsch_harq->nb_rb,
// dlsch_harq->rb_alloc,
// get_Qm(dlsch_harq->mcs),
// dlsch_harq->Nl,
// num_pdcch_symbols,
// frame,subframe,
// 0),
// 0,
// subframe<<1);
//stop_meas_NB_IoT(&eNB->dlsch_scrambling_stats);
......@@ -870,13 +865,13 @@ void npdsch_procedures(PHY_VARS_eNB_NB_IoT *eNB,
//start_meas_NB_IoT(&eNB->dlsch_modulation_stats);
LOG_I(PHY, "NB-IoT Modulation step\n");
// dlsch_modulation(eNB,
// eNB->common_vars.txdataF[0],
// AMP,
// subframe,
// num_pdcch_symbols,
// dlsch,
// dlsch1);
// dlsch_modulation(eNB,
// eNB->common_vars.txdataF[0],
// AMP,
// subframe,
// num_pdcch_symbols,
// dlsch,
// dlsch1);
//stop_meas_NB_IoT(&eNB->dlsch_modulation_stats);
}
......@@ -896,10 +891,8 @@ void npdsch_procedures(PHY_VARS_eNB_NB_IoT *eNB,
}
extern int oai_exit;
/*
* ASSUMPTION
*
......@@ -955,9 +948,6 @@ void phy_procedures_eNB_TX_NB_IoT(PHY_VARS_eNB_NB_IoT *eNB,
uint32_t sib1_startFrame = -1;
//NB_IoT_eNB_NPDCCH_t*npdcch;
if(do_meas == 1)
//start_meas_NB_IoT(&eNB->phy_proc_tx);
......@@ -975,7 +965,7 @@ void phy_procedures_eNB_TX_NB_IoT(PHY_VARS_eNB_NB_IoT *eNB,
common_signal_procedures_NB_IoT(eNB,proc);
//Generate MIB
if(subframe==0 && (eNB->npbch != NULL))
if(subframe ==0 && (eNB->npbch != NULL))
{
if(eNB->npbch->pdu != NULL)
{
......
......@@ -140,10 +140,10 @@ typedef struct rlc_am_entity_s {
//----------------------------------------------------
//DL-AM-RLC Config NB-IoT parameter
uint32_t* enableStatusReportSN_Gap;
uint32_t *enableStatusReportSN_Gap_NB_IoT;
//UL-AM-RLC Config. NB-IoT parameter
uint16_t max_retx_threshold_NB;
rlc_am_timer_t t_poll_retransmit_NB; //TIMER
uint16_t max_retx_threshold_NB_IoT;
rlc_am_timer_t t_poll_retransmit_NB_IoT; //TIMER
//---------------------------------------------------------------------
// STATISTICS
......
......@@ -72,11 +72,11 @@ typedef volatile struct {
typedef volatile struct {
//UL-AM-RLC Configurations
uint16_t max_retx_threshold_NB;
uint32_t t_poll_retransmit_NB;
uint16_t max_retx_threshold_NB_IoT;
uint32_t t_poll_retransmit_NB_IoT;
//DL-AM-RLC Configurations
uint32_t* enableStatusReportSN_Gap; /*OPTIONAL*/
}rlc_am_info_NB_t;
uint32_t* enableStatusReportSN_Gap_NB_IoT; /*OPTIONAL*/
}rlc_am_info_NB_IoT_t;
//-----------------------------------------------------------------------------
/*! \fn void rlc_am_init (const protocol_ctxt_t* const ctxtP, rlc_am_entity_t * const rlc_pP)
......
......@@ -137,7 +137,7 @@ typedef volatile struct {
rlc_mode_t rlc_mode;
union {
rlc_am_info_t rlc_am_info; /*!< \sa rlc_am.h. */
rlc_am_info_NB_t rlc_am_info_NB; //integrate NB-IoT
rlc_am_info_NB_IoT_t rlc_am_info_NB_IoT; //integrate NB-IoT
rlc_tm_info_t rlc_tm_info; /*!< \sa rlc_tm.h. */
rlc_um_info_t rlc_um_info; /*!< \sa rlc_um.h. */
} rlc;
......
......@@ -2815,7 +2815,7 @@ void config_req_rlc_am_asn1_NB_IoT (
PROTOCOL_RLC_AM_MSC_ARGS(ctxt_pP, l_rlc_p),
pollRetransmit_NB_tab[config_am_pP->ul_AM_RLC_r13.t_PollRetransmit_r13]);
LOG_D(RLC, PROTOCOL_RLC_AM_CTXT_FMT" CONFIG_REQ (max_retx_threshold_NB = %d t_poll_retransmit_NB = %d \n",
LOG_D(RLC, PROTOCOL_RLC_AM_CTXT_FMT" CONFIG_REQ (max_retx_threshold_NB_IoT = %d t_poll_retransmit_NB_IoT = %d \n",
PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,l_rlc_p),
maxRetxThreshold_NB_tab[config_am_pP->ul_AM_RLC_r13.maxRetxThreshold_r13],
pollRetransmit_NB_tab[config_am_pP->ul_AM_RLC_r13.t_PollRetransmit_r13]);
......@@ -2839,7 +2839,7 @@ void config_req_rlc_am_asn1_NB_IoT (
PROTOCOL_RLC_AM_MSC_ARGS(ctxt_pP, l_rlc_p));
LOG_D(RLC,
PROTOCOL_RLC_AM_CTXT_FMT"ILLEGAL CONFIG_REQ (max_retx_threshold_NB=%ld t_poll_retransmit_NB=%ld), RLC-AM NOT CONFIGURED\n",
PROTOCOL_RLC_AM_CTXT_FMT"ILLEGAL CONFIG_REQ (max_retx_threshold_NB_IoT=%ld t_poll_retransmit_NB_IoT=%ld), RLC-AM NOT CONFIGURED\n",
PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,l_rlc_p),
config_am_pP->ul_AM_RLC_r13.maxRetxThreshold_r13,
config_am_pP->ul_AM_RLC_r13.t_PollRetransmit_r13);
......@@ -2853,15 +2853,15 @@ void config_req_rlc_am_asn1_NB_IoT (
//defined in rlc_am_init.c
//-----------------------------------------------------------------------------
void rlc_am_configure_NB_IoT(
const protocol_ctxt_t* const ctxt_pP,
const protocol_ctxt_t *const ctxt_pP,
rlc_am_entity_t *const rlc_pP,
const uint16_t max_retx_thresholdP,
const uint16_t t_poll_retransmitP,
const uint32_t* enableStatusReportSN_Gap
uint32_t *enableStatusReportSN_Gap
)
{
if (rlc_pP->configured == TRUE) {
LOG_I(RLC, PROTOCOL_RLC_AM_CTXT_FMT"[RECONFIGURE] max_retx_threshold_NB %d t_poll_retransmit_NB %d\n",
LOG_I(RLC, PROTOCOL_RLC_AM_CTXT_FMT"[RECONFIGURE] max_retx_threshold_NB_IoT %d t_poll_retransmit_NB_IoT %d\n",
PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP),
max_retx_thresholdP,
t_poll_retransmitP
......@@ -2869,23 +2869,23 @@ void rlc_am_configure_NB_IoT(
//FIXME: rlc_am_entity_t should be modified??
rlc_pP->max_retx_threshold_NB = max_retx_thresholdP;
rlc_pP->max_retx_threshold_NB_IoT = max_retx_thresholdP;
rlc_pP->protocol_state = RLC_DATA_TRANSFER_READY_STATE;
rlc_pP->t_poll_retransmit_NB.ms_duration = t_poll_retransmitP;
rlc_pP->enableStatusReportSN_Gap = enableStatusReportSN_Gap;
rlc_pP->t_poll_retransmit_NB_IoT.ms_duration = t_poll_retransmitP;
rlc_pP->enableStatusReportSN_Gap_NB_IoT = enableStatusReportSN_Gap;
} else {
LOG_I(RLC, PROTOCOL_RLC_AM_CTXT_FMT"[CONFIGURE] max_retx_threshold_NB %d t_poll_retransmit_NB %d\n",
LOG_I(RLC, PROTOCOL_RLC_AM_CTXT_FMT"[CONFIGURE] max_retx_threshold_NB_IoT %d t_poll_retransmit_NB_IoT %d\n",
PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,rlc_pP),
max_retx_thresholdP,
t_poll_retransmitP
//enableStatusReportSN_Gap
);
rlc_pP->max_retx_threshold_NB = max_retx_thresholdP;
rlc_pP->max_retx_threshold_NB_IoT = max_retx_thresholdP;
rlc_pP->protocol_state = RLC_DATA_TRANSFER_READY_STATE;
rlc_pP->enableStatusReportSN_Gap = enableStatusReportSN_Gap;
rlc_pP->enableStatusReportSN_Gap_NB_IoT = enableStatusReportSN_Gap;
rlc_am_init_timer_poll_retransmit(ctxt_pP, rlc_pP, t_poll_retransmitP);
......@@ -3070,9 +3070,9 @@ rlc_op_status_t rrc_rlc_remove_rlc_NB_IoT (
//defined in rlc_am.c
//-----------------------------------------------------------------------------
void config_req_rlc_am_NB_IoT (
const protocol_ctxt_t* const ctxt_pP,
const protocol_ctxt_t *const ctxt_pP,
const srb_flag_t srb_flagP,
rlc_am_info_NB_t * const config_am_pP, //XXX: MP: rlc_am_init.c --> this structure has been modified for NB-IoT
rlc_am_info_NB_IoT_t *const config_am_pP, //XXX: MP: rlc_am_init.c --> this structure has been modified for NB-IoT
const rb_id_t rb_idP,
const logical_chan_id_t chan_idP
)
......@@ -3089,17 +3089,17 @@ void config_req_rlc_am_NB_IoT (
LOG_D(RLC,
PROTOCOL_RLC_AM_CTXT_FMT" CONFIG_REQ (max_retx_threshold=%d t_poll_retransmit=%d)\n",
PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,l_rlc_p),
config_am_pP->max_retx_threshold_NB,
config_am_pP->t_poll_retransmit_NB
config_am_pP->max_retx_threshold_NB_IoT,
config_am_pP->t_poll_retransmit_NB_IoT
//enableStatusReportSN_Gap_r13
);
rlc_am_init(ctxt_pP, l_rlc_p);
rlc_am_set_debug_infos(ctxt_pP, l_rlc_p, srb_flagP, rb_idP, chan_idP);
rlc_am_configure_NB_IoT(ctxt_pP,
l_rlc_p,
config_am_pP->max_retx_threshold_NB,
config_am_pP->t_poll_retransmit_NB,
config_am_pP->enableStatusReportSN_Gap);
config_am_pP->max_retx_threshold_NB_IoT,
config_am_pP->t_poll_retransmit_NB_IoT,
config_am_pP->enableStatusReportSN_Gap_NB_IoT);
} else {
LOG_E(RLC, PROTOCOL_RLC_AM_CTXT_FMT" CONFIG_REQ RLC NOT FOUND\n",
PROTOCOL_RLC_AM_CTXT_ARGS(ctxt_pP,l_rlc_p));
......@@ -3109,11 +3109,11 @@ void config_req_rlc_am_NB_IoT (
//defined in rlc_rrc.c
//used only for rrc_t310_expiration --> I don't know if it is used (probably not)
rlc_op_status_t rrc_rlc_config_req_NB_IoT (
const protocol_ctxt_t* const ctxt_pP,
const protocol_ctxt_t *const ctxt_pP,
const srb_flag_t srb_flagP,
const config_action_t actionP,
const rb_id_t rb_idP,
const rlc_info_t rlc_infoP)
rlc_info_t rlc_infoP)
{
//-----------------------------------------------------------------------------
//rlc_op_status_t status;
......@@ -3148,7 +3148,7 @@ rlc_op_status_t rrc_rlc_config_req_NB_IoT (
config_req_rlc_am_NB_IoT(
ctxt_pP,
srb_flagP,
&rlc_infoP.rlc.rlc_am_info_NB, //MP: pass the volatile structure for NB_IoT protocol params in rlc_am_init.h // warning present
&rlc_infoP.rlc.rlc_am_info_NB_IoT, //MP: pass the volatile structure for NB_IoT protocol params in rlc_am_init.h // warning present
rb_idP, rb_idP);
break;
......
......@@ -314,7 +314,7 @@ void rlc_am_configure_NB_IoT(
rlc_am_entity_t *const rlc_pP,
const uint16_t max_retx_thresholdP,
const uint16_t t_poll_retransmitP,
const uint32_t* const enableStatusReportSN_Gap
uint32_t *enableStatusReportSN_Gap
);
//--------------------------------------------------------------
......@@ -343,16 +343,16 @@ rlc_op_status_t rrc_rlc_config_req_NB_IoT (
const srb_flag_t srb_flagP,
const config_action_t actionP,
const rb_id_t rb_idP,
const rlc_info_t rlc_infoP);
rlc_info_t rlc_infoP);
//-----------------------------------------------------
//defined in rlc_am.c
//------------------------------------------------------
void config_req_rlc_am_NB_IoT (
const protocol_ctxt_t* const ctxt_pP,
const protocol_ctxt_t * const ctxt_pP,
const srb_flag_t srb_flagP,
rlc_am_info_NB_t * const config_am_pP, //XXX: MP: rlc_am_init.c --> this structure has been modified for NB-IoT
rlc_am_info_NB_IoT_t *const config_am_pP, //XXX: MP: rlc_am_init.c --> this structure has been modified for NB-IoT
const rb_id_t rb_idP,
const logical_chan_id_t chan_idP
);
......
......@@ -164,9 +164,9 @@ int rrc_init_global_param_NB_IoT( void )
//Setting of this values????
Rlc_info_am_config_NB_IoT.rlc_mode = RLC_MODE_AM; //only allowed for NB-IoT
Rlc_info_am_config_NB_IoT.rlc.rlc_am_info_NB.max_retx_threshold_NB = 50;
Rlc_info_am_config_NB_IoT.rlc.rlc_am_info_NB.t_poll_retransmit_NB = 15;
Rlc_info_am_config_NB_IoT.rlc.rlc_am_info_NB.enableStatusReportSN_Gap = NULL; //should be disabled
Rlc_info_am_config_NB_IoT.rlc.rlc_am_info_NB_IoT.max_retx_threshold_NB_IoT = 50;
Rlc_info_am_config_NB_IoT.rlc.rlc_am_info_NB_IoT.t_poll_retransmit_NB_IoT = 15;
Rlc_info_am_config_NB_IoT.rlc.rlc_am_info_NB_IoT.enableStatusReportSN_Gap_NB_IoT = NULL; //should be disabled
#ifndef NO_RRM
......
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