Commit 7ceebea9 authored by chenhsunyang0922's avatar chenhsunyang0922

move NBIoT files to NBIoT_TRANSPORT from LTE_TRANSPORT

parent 3310f4f8
...@@ -34,7 +34,8 @@ ...@@ -34,7 +34,8 @@
#include "common/utils/LOG/vcd_signal_dumper.h" #include "common/utils/LOG/vcd_signal_dumper.h"
#include "assertions.h" #include "assertions.h"
#include <math.h> #include <math.h>
//NB-IoT
#include "openair2/ENB_APP/NB_IoT_config.c"
extern uint32_t from_earfcn(int eutra_bandP,uint32_t dl_earfcn); extern uint32_t from_earfcn(int eutra_bandP,uint32_t dl_earfcn);
extern int32_t get_uldl_offset(int eutra_bandP); extern int32_t get_uldl_offset(int eutra_bandP);
...@@ -96,7 +97,7 @@ l1_north_init_NB_IoT() ...@@ -96,7 +97,7 @@ l1_north_init_NB_IoT()
LOG_I(PHY,"RC.L1_NB_IoT = %p\n",RC.L1_NB_IoT); LOG_I(PHY,"RC.L1_NB_IoT = %p\n",RC.L1_NB_IoT);
for (j=0; j<NbIoT_L1_ParamList.numelt; j++) { for (j=0; j<NbIoT_L1_ParamList.numelt; j++) {
AssertFatal(RC.L1_NB_IoT[j]!=NULL,"RC.eNB_NB_IoT[%d] is null\n",i); AssertFatal(RC.L1_NB_IoT[j]!=NULL,"RC.eNB_NB_IoT[%d] is null\n",j);
LOG_I(PHY,"RC.L1_NB_IoT = %p\n",RC.L1_NB_IoT); LOG_I(PHY,"RC.L1_NB_IoT = %p\n",RC.L1_NB_IoT);
......
...@@ -428,41 +428,43 @@ void phy_config_dedicated_eNB_NB_IoT(uint8_t Mod_id, ...@@ -428,41 +428,43 @@ void phy_config_dedicated_eNB_NB_IoT(uint8_t Mod_id,
} }
// void phy_init_lte_top_NB_IoT(NB_IoT_DL_FRAME_PARMS *frame_parms) void phy_init_lte_top_NB_IoT(NB_IoT_DL_FRAME_PARMS *frame_parms)
// { {
// // crcTableInit(); crcTableInit_NB_IoT();
// // ccodedot11_init(); //ccodedot11_init();
// // ccodedot11_init_inv(); //ccodedot11_init_inv();
ccodelte_init_NB_IoT();
ccodelte_init2_NB_IoT();
//ccodelte_init_inv();
// // ccodelte_init(); //treillis_table_init();
// // ccodelte_init_inv();
// // treillis_table_init(); //phy_generate_viterbi_tables();
//phy_generate_viterbi_tables_lte();
// // phy_generate_viterbi_tables(); //init_td8();
// // phy_generate_viterbi_tables_lte(); // init_td16();
#ifdef __AVX2__
// init_td16avx2();
#endif
// // init_td8(); //lte_sync_time_init_NB_IoT(frame_parms);
// // init_td16();
// // #ifdef __AVX2__
// // init_td16avx2();
// // #endif
// // lte_sync_time_init(frame_parms); //generate_ul_ref_sigs();
//generate_ul_ref_sigs_rx();
generate_ul_ref_sigs_rx_NB_IoT();
// // generate_ul_ref_sigs(); // generate_64qam_table();
// generate_ul_ref_sigs_rx_NB_IoT(); //generate_16qam_table();
// generate_RIV_tables();
// // generate_64qam_table(); init_unscrambling_lut_NB_IoT();
// // generate_16qam_table(); // init_scrambling_lut();
// // generate_RIV_tables();
// // init_unscrambling_lut(); //set_taus_seed(1328);
// // init_scrambling_lut();
// // //set_taus_seed(1328);
// } }
...@@ -24,8 +24,8 @@ ...@@ -24,8 +24,8 @@
#include "PHY/defs_eNB.h" #include "PHY/defs_eNB.h"
#include "PHY/defs_UE.h" #include "PHY/defs_UE.h"
#include "PHY/defs_NB_IoT.h"
#include "PHY/impl_defs_lte_NB_IoT.h"
#include "LTE_SystemInformationBlockType2.h" #include "LTE_SystemInformationBlockType2.h"
//#include "RadioResourceConfigCommonSIB.h" //#include "RadioResourceConfigCommonSIB.h"
#include "LTE_RadioResourceConfigDedicated.h" #include "LTE_RadioResourceConfigDedicated.h"
......
...@@ -484,15 +484,15 @@ void *te_thread(void *param) { ...@@ -484,15 +484,15 @@ void *te_thread(void *param) {
return(NULL); return(NULL);
} }
/*if(opp_enabled == 1 && te_wakeup_stats0->p_time>50*3000){ if(opp_enabled == 1 && te_wakeup_stats0->p_time>50*3000){
print_meas_now(te_wakeup_stats0,"coding_wakeup",stderr); print_meas_now(te_wakeup_stats0,"coding_wakeup",stderr);
printf("te_thread0 delay for waking up in frame_rx: %d subframe_rx: %d \n",proc->frame_rx,proc->subframe_rx); printf("te_thread0 delay for waking up in frame_rx: %d subframe_rx: %d \n",proc->frame_rx,proc->subframe_rx);
}*/ }
} }
return(NULL); return(NULL);
} }
*/
int dlsch_encoding_2threads(PHY_VARS_eNB *eNB, int dlsch_encoding_2threads(PHY_VARS_eNB *eNB,
......
...@@ -47,9 +47,6 @@ ...@@ -47,9 +47,6 @@
//#define DEBUG_PBCH_ENCODING //#define DEBUG_PBCH_ENCODING
//#define INTERFERENCE_MITIGATION 1 //#define INTERFERENCE_MITIGATION 1
#include "PHY/LTE_REFSIG/defs.h"
#define PBCH_A 24 #define PBCH_A 24
int allocate_pbch_REs_in_RB(LTE_DL_FRAME_PARMS *frame_parms, int allocate_pbch_REs_in_RB(LTE_DL_FRAME_PARMS *frame_parms,
......
...@@ -15,11 +15,11 @@ ...@@ -15,11 +15,11 @@
#define __LTE_TRANSPORT_DEFS_NB_IOT__H__ #define __LTE_TRANSPORT_DEFS_NB_IOT__H__
////#include "PHY/defs.h" ////#include "PHY/defs.h"
//#include "PHY/defs_nb_iot.h" //#include "PHY/defs_nb_iot.h"
#include "PHY/LTE_TRANSPORT/dci_NB_IoT.h" #include "PHY/NBIoT_TRANSPORT/dci_NB_IoT.h"
#include "PHY/impl_defs_lte_NB_IoT.h" #include "PHY/impl_defs_lte_NB_IoT.h"
#include "openair2/COMMON/platform_types.h" #include "openair2/COMMON/platform_types.h"
//#include "dci.h" //#include "dci.h"
#include "PHY/LTE_TRANSPORT/uci_NB_IoT.h" #include "PHY/NBIoT_TRANSPORT/uci_NB_IoT.h"
//#include "dci.h" //#include "dci.h"
//#include "uci.h" //#include "uci.h"
//#ifndef STANDALONE_COMPILE //#ifndef STANDALONE_COMPILE
......
...@@ -32,13 +32,14 @@ ...@@ -32,13 +32,14 @@
#include <string.h> #include <string.h>
//#include "PHY/impl_defs_lte.h" //#include "PHY/impl_defs_lte.h"
//#include "openair2/COMMON/openair_defs.h" //#include "openair2/COMMON/openair_defs.h"
#include "PHY/defs.h" #include "PHY/defs_eNB.h"
#include "PHY/defs_UE.h"
//#include "PHY/extern_NB_IoT.h" //#include "PHY/extern_NB_IoT.h"
#include "PHY/CODING/defs_NB_IoT.h" #include "PHY/CODING/defs_NB_IoT.h"
//#include "PHY/CODING/extern.h" //#include "PHY/CODING/extern.h"
//#include "PHY/CODING/lte_interleaver_inline.h" //#include "PHY/CODING/lte_interleaver_inline.h"
#include "PHY/LTE_TRANSPORT/defs_NB_IoT.h" #include "PHY/NBIoT_TRANSPORT/defs_NB_IoT.h"
#include "PHY/LTE_TRANSPORT/proto.h" #include "PHY/LTE_TRANSPORT/transport_proto.h"
//#include "SCHED/defs_NB_IoT.h" //#include "SCHED/defs_NB_IoT.h"
//#include "defs_nb_iot.h" //#include "defs_nb_iot.h"
//#include "UTIL/LOG/vcd_signal_dumper.h" //#include "UTIL/LOG/vcd_signal_dumper.h"
......
...@@ -28,9 +28,10 @@ ...@@ -28,9 +28,10 @@
* \warning * \warning
*/ */
#include "PHY/defs.h" #include "PHY/defs_eNB.h"
#include "PHY/defs_UE.h"
///////////////#include "PHY/defs_nb_iot.h" ///////////////#include "PHY/defs_nb_iot.h"
#include "PHY/extern.h" #include "PHY/phy_extern.h"
#include <math.h> #include <math.h>
//#include "PHY/impl_defs_lte_NB_IoT.h" //#include "PHY/impl_defs_lte_NB_IoT.h"
//#include "PHY/impl_defs_top_NB_IoT.h" //#include "PHY/impl_defs_top_NB_IoT.h"
......
...@@ -30,11 +30,12 @@ ...@@ -30,11 +30,12 @@
*/ */
//#include <math.h> //#include <math.h>
#include "PHY/defs.h" #include "PHY/defs_eNB.h"
#include "PHY/defs_UE.h"
//#include "PHY/defs_NB_IoT.h" // not can be replaced by impl_defs_lte_NB_IoT & impl_defs_top_NB_IoT if "msg" function is not used //#include "PHY/defs_NB_IoT.h" // not can be replaced by impl_defs_lte_NB_IoT & impl_defs_top_NB_IoT if "msg" function is not used
//#include "defs.h" //#include "defs.h"
//#include "PHY/extern_NB_IoT.h" //#include "PHY/extern_NB_IoT.h"
#include "PHY/extern.h" #include "PHY/phy_extern.h"
//#include "PHY/impl_defs_lte_NB_IoT.h" //#include "PHY/impl_defs_lte_NB_IoT.h"
//#include "PHY/impl_defs_top_NB_IoT.h" //#include "PHY/impl_defs_top_NB_IoT.h"
#include "nsss_NB_IoT.h" #include "nsss_NB_IoT.h"
......
...@@ -12,7 +12,8 @@ ...@@ -12,7 +12,8 @@
* \warning * \warning
*/ */
#include "PHY/defs.h" #include "PHY/defs_eNB.h"
#include "PHY/defs_UE.h"
#include "PHY/defs_NB_IoT.h" #include "PHY/defs_NB_IoT.h"
#include "PHY/LTE_REFSIG/defs_NB_IoT.h" #include "PHY/LTE_REFSIG/defs_NB_IoT.h"
......
...@@ -1506,7 +1506,7 @@ void descrambling_NPUSCH_ack_NB_IoT(LTE_DL_FRAME_PARMS *fp, ...@@ -1506,7 +1506,7 @@ void descrambling_NPUSCH_ack_NB_IoT(LTE_DL_FRAME_PARMS *fp,
////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////
uint32_t turbo_decoding_NB_IoT(PHY_VARS_eNB *eNB, uint32_t turbo_decoding_NB_IoT(PHY_VARS_eNB *eNB,
NB_IoT_eNB_NULSCH_t *ulsch_NB_IoT, NB_IoT_eNB_NULSCH_t *ulsch_NB_IoT,
eNB_rxtx_proc_t *proc, eNB_rxtx_proc_NB_IoT_NB_IoT_t *proc,
uint8_t npusch_format, uint8_t npusch_format,
unsigned int G, unsigned int G,
uint8_t rvdx, uint8_t rvdx,
...@@ -1687,7 +1687,7 @@ void deinterleaving_NPUSCH_data_NB_IoT(NB_IoT_UL_eNB_HARQ_t *ulsch_harq, int16_t ...@@ -1687,7 +1687,7 @@ void deinterleaving_NPUSCH_data_NB_IoT(NB_IoT_UL_eNB_HARQ_t *ulsch_harq, int16_t
void decode_NPUSCH_msg_NB_IoT(PHY_VARS_eNB *eNB, void decode_NPUSCH_msg_NB_IoT(PHY_VARS_eNB *eNB,
LTE_DL_FRAME_PARMS *fp, LTE_DL_FRAME_PARMS *fp,
eNB_rxtx_proc_t *proc, eNB_rxtx_proc_NB_IoT_t *proc,
uint8_t npusch_format, uint8_t npusch_format,
uint16_t N_SF_per_word, uint16_t N_SF_per_word,
uint16_t Nsc_RU, uint16_t Nsc_RU,
...@@ -1852,7 +1852,7 @@ void decode_NPUSCH_msg_NB_IoT(PHY_VARS_eNB *eNB, ...@@ -1852,7 +1852,7 @@ void decode_NPUSCH_msg_NB_IoT(PHY_VARS_eNB *eNB,
uint8_t rx_ulsch_Gen_NB_IoT(PHY_VARS_eNB *eNB, uint8_t rx_ulsch_Gen_NB_IoT(PHY_VARS_eNB *eNB,
eNB_rxtx_proc_t *proc, eNB_rxtx_proc_NB_IoT_t *proc,
uint8_t eNB_id, // this is the effective sector id uint8_t eNB_id, // this is the effective sector id
uint8_t UE_id, uint8_t UE_id,
uint16_t UL_RB_ID_NB_IoT, // 22 , to be included in // to be replaced by NB_IoT_start ?? uint16_t UL_RB_ID_NB_IoT, // 22 , to be included in // to be replaced by NB_IoT_start ??
......
...@@ -137,7 +137,7 @@ static inline void* malloc16_clear( size_t size ) ...@@ -137,7 +137,7 @@ static inline void* malloc16_clear( size_t size )
////////////////////////////////////////////////////////////////////#ifdef OPENAIR_LTE (check if this is required) ////////////////////////////////////////////////////////////////////#ifdef OPENAIR_LTE (check if this is required)
//#include "PHY/LTE_TRANSPORT/defs.h" //#include "PHY/LTE_TRANSPORT/defs.h"
#include "PHY/LTE_TRANSPORT/defs_NB_IoT.h" #include "PHY/NBIoT_TRANSPORT/defs_NB_IoT.h"
#include <pthread.h> #include <pthread.h>
#include "targets/ARCH/COMMON/common_lib.h" #include "targets/ARCH/COMMON/common_lib.h"
...@@ -1033,5 +1033,5 @@ typedef struct { ...@@ -1033,5 +1033,5 @@ typedef struct {
#include "PHY/INIT/defs_NB_IoT.h" #include "PHY/INIT/defs_NB_IoT.h"
#include "PHY/LTE_REFSIG/defs_NB_IoT.h" #include "PHY/LTE_REFSIG/defs_NB_IoT.h"
#include "PHY/LTE_TRANSPORT/proto_NB_IoT.h" #include "PHY/NBIoT_TRANSPORT/proto_NB_IoT.h"
#endif // __PHY_DEFS__H__ #endif // __PHY_DEFS__H__
...@@ -135,7 +135,7 @@ static inline void* malloc16_clear( size_t size ) ...@@ -135,7 +135,7 @@ static inline void* malloc16_clear( size_t size )
////////////////////////////////////////////////////////////////////#ifdef OPENAIR_LTE (check if this is required) ////////////////////////////////////////////////////////////////////#ifdef OPENAIR_LTE (check if this is required)
//#include "PHY/LTE_TRANSPORT/defs.h" //#include "PHY/LTE_TRANSPORT/defs.h"
#include "PHY/LTE_TRANSPORT/defs_NB_IoT.h" #include "PHY/NBIoT_TRANSPORT/defs_NB_IoT.h"
#include "openair2/PHY_INTERFACE/IF_Module_NB_IoT.h" #include "openair2/PHY_INTERFACE/IF_Module_NB_IoT.h"
#include <pthread.h> #include <pthread.h>
...@@ -286,6 +286,21 @@ typedef struct { ...@@ -286,6 +286,21 @@ typedef struct {
pthread_mutex_t mutex_l2; pthread_mutex_t mutex_l2;
int instance_cnt_l2; int instance_cnt_l2;
pthread_attr_t attr_l2; pthread_attr_t attr_l2;
uint32_t frame_msg5;
uint32_t subframe_msg5;
int subframe_real;
uint8_t flag_scrambling;
uint8_t flag_msg3;
uint8_t counter_msg3;
uint32_t frame_msg3;
uint8_t flag_msg4;
uint8_t counter_msg4;
uint32_t frame_msg4;
uint32_t subframe_msg4;
uint8_t counter_msg5;
uint8_t flag_msg5;
uint32_t frame_dscr_msg5;
uint32_t subframe_dscr_msg5;
} eNB_rxtx_proc_NB_IoT_t; } eNB_rxtx_proc_NB_IoT_t;
/* /*
...@@ -1108,7 +1123,7 @@ static inline int release_thread(pthread_mutex_t *mutex,int *instance_cnt,char * ...@@ -1108,7 +1123,7 @@ static inline int release_thread(pthread_mutex_t *mutex,int *instance_cnt,char *
#include "PHY/LTE_REFSIG/defs_NB_IoT.h" #include "PHY/LTE_REFSIG/defs_NB_IoT.h"
//#include "PHY/MODULATION/defs.h" //#include "PHY/MODULATION/defs.h"
//#include "PHY/LTE_TRANSPORT/proto.h" //#include "PHY/LTE_TRANSPORT/proto.h"
#include "PHY/LTE_TRANSPORT/proto_NB_IoT.h" #include "PHY/NBIoT_TRANSPORT/proto_NB_IoT.h"
//#include "PHY/LTE_ESTIMATION/defs.h" //#include "PHY/LTE_ESTIMATION/defs.h"
//#include "SIMULATION/ETH_TRANSPORT/defs.h" //#include "SIMULATION/ETH_TRANSPORT/defs.h"
//#endif //#endif
......
...@@ -136,6 +136,56 @@ typedef enum { ...@@ -136,6 +136,56 @@ typedef enum {
two=12 two=12
} PHICH_RESOURCE_t; } PHICH_RESOURCE_t;
#endif #endif
////////////////////////////////////////// NB-IoT testing ///////////////////////////////////////////////////////////////
typedef struct{
/// The base sequence of DMRS sequence in a cell for 3 tones transmission; see TS 36.211 [21, 10.1.4.1.2]. If absent, it is given by NB-IoT CellID mod 12. Value 12 is not used.
uint16_t threeTone_BaseSequence;
/// Define 3 cyclic shifts for the 3-tone case, see TS 36.211 [21, 10.1.4.1.2].
uint16_t threeTone_CyclicShift;
/// The base sequence of DMRS sequence in a cell for 6 tones transmission; see TS 36.211 [21, 10.1.4.1.2]. If absent, it is given by NB-IoT CellID mod 14. Value 14 is not used.
uint16_t sixTone_BaseSequence;
/// Define 4 cyclic shifts for the 6-tone case, see TS 36.211 [21, 10.1.4.1.2].
uint16_t sixTone_CyclicShift;
/// The base sequence of DMRS sequence in a cell for 12 tones transmission; see TS 36.211 [21, 10.1.4.1.2]. If absent, it is given by NB-IoT CellID mod 30. Value 30 is not used.
uint16_t twelveTone_BaseSequence;
}DMRS_CONFIGx_t;
/// UL-ReferenceSignalsNPUSCH from 36.331 RRC spec
typedef struct {
/// Parameter: Group-hopping-enabled, see TS 36.211 (5.5.1.3). \vr{[0..1]}
uint8_t groupHoppingEnabled;
/// , see TS 36.211 (5.5.1.3). \vr{[0..29]}
uint8_t groupAssignmentNPUSCH;
/// Parameter: cyclicShift, see TS 36.211 (Table 5.5.2.1.1-2). \vr{[0..7]}
uint8_t cyclicShift;
/// nPRS for cyclic shift of DRS \note not part of offical UL-ReferenceSignalsPUSCH ASN1 specification.
uint8_t nPRS[20];
/// group hopping sequence for DMRS, 36.211, Section 10.1.4.1.3. Second index corresponds to the four possible subcarrier configurations
uint8_t grouphop[20][4];
/// sequence hopping sequence for DRS \note not part of offical UL-ReferenceSignalsPUSCH ASN1 specification.
uint8_t seqhop[20];
} UL_REFERENCE_SIGNALS_NPUSCHx_t;
/// PUSCH-ConfigCommon from 36.331 RRC spec.
typedef struct {
/// Number of repetitions for ACK/NACK HARQ response to NPDSCH containing Msg4 per NPRACH resource, see TS 36.213 [23, 16.4.2].
uint8_t ack_NACK_NumRepetitions_Msg4[3];
/// SRS SubframeConfiguration. See TS 36.211 [21, table 5.5.3.3-1]. Value sc0 corresponds to value 0, sc1 to value 1 and so on.
uint8_t srs_SubframeConfig;
/// Parameter: \f$N^{HO}_{RB}\f$, see TS 36.211 (5.3.4). \vr{[0..98]}
DMRS_CONFIGx_t dmrs_Config;
/// Ref signals configuration
UL_REFERENCE_SIGNALS_NPUSCHx_t ul_ReferenceSignalsNPUSCH;
} NPUSCH_CONFIG_COMMONx;
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// PHICH-Config from 36.331 RRC spec /// PHICH-Config from 36.331 RRC spec
typedef struct { typedef struct {
/// Parameter: PHICH-Duration, see TS 36.211 (Table 6.9.3-1). /// Parameter: PHICH-Duration, see TS 36.211 (Table 6.9.3-1).
...@@ -722,6 +772,19 @@ typedef struct { ...@@ -722,6 +772,19 @@ typedef struct {
#endif #endif
/// for fair RR scheduler /// for fair RR scheduler
uint32_t ue_multiple_max; uint32_t ue_multiple_max;
////////////////////////// NB-IoT testing //////////////////////////////
uint8_t subcarrier_spacing;
uint16_t control_region_size;
uint8_t nb_antennas_tx_NB_IoT; // to replace with NB_IoT_frame_params
NPUSCH_CONFIG_COMMONx npusch_config_common;
uint8_t RB_ID_NB_IoT; // to be used
uint8_t flag_free_sf; // flag to indicate for NPDSCH and NPDCCH process if the current SF already used
/////////////////////////////////////////////////////////////////////
} LTE_DL_FRAME_PARMS; } LTE_DL_FRAME_PARMS;
typedef enum { typedef enum {
......
...@@ -31,6 +31,7 @@ ...@@ -31,6 +31,7 @@
*/ */
#include "PHY/defs_eNB.h" #include "PHY/defs_eNB.h"
#include "PHY/defs_UE.h" #include "PHY/defs_UE.h"
#include "PHY/phy_extern.h"
#include "SCHED/sched_common_extern.h" #include "SCHED/sched_common_extern.h"
#include "PHY/LTE_TRANSPORT/transport_common_proto.h" #include "PHY/LTE_TRANSPORT/transport_common_proto.h"
...@@ -907,7 +908,7 @@ unsigned int is_phich_subframe(LTE_DL_FRAME_PARMS *frame_parms,unsigned char sub ...@@ -907,7 +908,7 @@ unsigned int is_phich_subframe(LTE_DL_FRAME_PARMS *frame_parms,unsigned char sub
/*
LTE_eNB_UE_stats* get_UE_stats(uint8_t Mod_id, uint8_t CC_id,uint16_t rnti) LTE_eNB_UE_stats* get_UE_stats(uint8_t Mod_id, uint8_t CC_id,uint16_t rnti)
{ {
int8_t UE_id; int8_t UE_id;
...@@ -940,7 +941,7 @@ int8_t find_ue(uint16_t rnti, PHY_VARS_eNB *eNB) ...@@ -940,7 +941,7 @@ int8_t find_ue(uint16_t rnti, PHY_VARS_eNB *eNB)
} }
return(-1); return(-1);
} }
*/
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)
...@@ -949,7 +950,7 @@ LTE_DL_FRAME_PARMS* get_lte_frame_parms(module_id_t Mod_id, uint8_t CC_id) ...@@ -949,7 +950,7 @@ LTE_DL_FRAME_PARMS* get_lte_frame_parms(module_id_t Mod_id, uint8_t CC_id)
return(&RC.eNB[Mod_id][CC_id]->frame_parms); return(&RC.eNB[Mod_id][CC_id]->frame_parms);
} }
/*
MU_MIMO_mode *get_mu_mimo_mode (module_id_t Mod_id, uint8_t CC_id, rnti_t rnti) MU_MIMO_mode *get_mu_mimo_mode (module_id_t Mod_id, uint8_t CC_id, rnti_t rnti)
{ {
int8_t UE_id = find_ue( rnti, RC.eNB[Mod_id][CC_id] ); int8_t UE_id = find_ue( rnti, RC.eNB[Mod_id][CC_id] );
...@@ -959,7 +960,7 @@ MU_MIMO_mode *get_mu_mimo_mode (module_id_t Mod_id, uint8_t CC_id, rnti_t rnti) ...@@ -959,7 +960,7 @@ MU_MIMO_mode *get_mu_mimo_mode (module_id_t Mod_id, uint8_t CC_id, rnti_t rnti)
return &RC.eNB[Mod_id][CC_id]->mu_mimo_mode[UE_id]; return &RC.eNB[Mod_id][CC_id]->mu_mimo_mode[UE_id];
} }
*/
int is_srs_occasion_common(LTE_DL_FRAME_PARMS *frame_parms,int frame_tx,int subframe_tx) int is_srs_occasion_common(LTE_DL_FRAME_PARMS *frame_parms,int frame_tx,int subframe_tx)
{ {
......
...@@ -2003,5 +2003,5 @@ void phy_procedures_eNB_uespec_RX(PHY_VARS_eNB *eNB,L1_rxtx_proc_t *proc) { ...@@ -2003,5 +2003,5 @@ void phy_procedures_eNB_uespec_RX(PHY_VARS_eNB *eNB,L1_rxtx_proc_t *proc) {
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME( VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_ENB_RX_UESPEC, 0 ); VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME( VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_PROCEDURES_ENB_RX_UESPEC, 0 );
} }
#endif
...@@ -50,7 +50,7 @@ int Irep_to_Nrep_x[16] = {1,2,4,8,16,32,64,128,192,256,384,512,768,1024,1536,204 ...@@ -50,7 +50,7 @@ int Irep_to_Nrep_x[16] = {1,2,4,8,16,32,64,128,192,256,384,512,768,1024,1536,204
void handle_nfapi_dlsch_pdu_NB_IoT(PHY_VARS_eNB *eNB, void handle_nfapi_dlsch_pdu_NB_IoT(PHY_VARS_eNB *eNB,
eNB_rxtx_proc_t *proc, eNB_rxtx_proc_NB_IoT_t *proc,
nfapi_dl_config_request_pdu_t *dl_config_pdu, nfapi_dl_config_request_pdu_t *dl_config_pdu,
uint8_t *sdu) uint8_t *sdu)
{ {
...@@ -282,7 +282,7 @@ void schedule_response_NB_IoT(Sched_Rsp_NB_IoT_t *Sched_INFO) ...@@ -282,7 +282,7 @@ void schedule_response_NB_IoT(Sched_Rsp_NB_IoT_t *Sched_INFO)
//LOG_I(PHY,"schedule_response_NB_IoT\n"); //LOG_I(PHY,"schedule_response_NB_IoT\n");
//XXX check if correct to take eNB like this //XXX check if correct to take eNB like this
PHY_VARS_eNB *eNB = PHY_vars_eNB_g[0][Sched_INFO->CC_id]; PHY_VARS_eNB *eNB = PHY_vars_eNB_g[0][Sched_INFO->CC_id];
eNB_rxtx_proc_t *proc = &eNB->proc.proc_rxtx[0]; eNB_rxtx_proc_NB_IoT_t *proc = &eNB->proc.proc_rxtx[0];
NB_IoT_eNB_NPBCH_t *npbch; NB_IoT_eNB_NPBCH_t *npbch;
/// ///
int i; int i;
......
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
void handle_nfapi_dlsch_pdu_NB_IoT(PHY_VARS_eNB *eNB, void handle_nfapi_dlsch_pdu_NB_IoT(PHY_VARS_eNB *eNB,
eNB_rxtx_proc_t *proc, eNB_rxtx_proc_NB_IoT_t *proc,
nfapi_dl_config_request_pdu_t *dl_config_pdu, nfapi_dl_config_request_pdu_t *dl_config_pdu,
uint8_t *sdu); uint8_t *sdu);
......
...@@ -19,22 +19,22 @@ enum openair_HARQ_TYPE_NB_IoT { ...@@ -19,22 +19,22 @@ enum openair_HARQ_TYPE_NB_IoT {
void process_schedule_rsp_NB_IoT(Sched_Rsp_NB_IoT_t *sched_rsp, void process_schedule_rsp_NB_IoT(Sched_Rsp_NB_IoT_t *sched_rsp,
PHY_VARS_eNB_NB_IoT *eNB, PHY_VARS_eNB_NB_IoT *eNB,
eNB_rxtx_proc_t *proc); eNB_rxtx_proc_NB_IoT_t *proc);
/*Processing the ue-specific resources for uplink in NB-IoT*/ /*Processing the ue-specific resources for uplink in NB-IoT*/
void phy_procedures_eNB_uespec_RX_NB_IoT(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc); // UL_IND_NB_IoT_t *UL_INFO); void phy_procedures_eNB_uespec_RX_NB_IoT(PHY_VARS_eNB *eNB,eNB_rxtx_proc_NB_IoT_t *proc); // UL_IND_NB_IoT_t *UL_INFO);
/* For NB-IoT, we put NPBCH in later part, since it would be scheduled by MAC scheduler,this generates NRS/NPSS/NSSS*/ /* For NB-IoT, we put NPBCH in later part, since it would be scheduled by MAC scheduler,this generates NRS/NPSS/NSSS*/
void common_signal_procedures_NB_IoT(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc); void common_signal_procedures_NB_IoT(PHY_VARS_eNB *eNB,eNB_rxtx_proc_NB_IoT_t *proc);
/*Generate the ulsch params and do the mapping for the FAPI style parameters to OAI, and then do the packing*/ /*Generate the ulsch params and do the mapping for the FAPI style parameters to OAI, and then do the packing*/
void generate_eNB_ulsch_params_NB_IoT(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,nfapi_hi_dci0_request_pdu_t *hi_dci0_pdu); void generate_eNB_ulsch_params_NB_IoT(PHY_VARS_eNB *eNB,eNB_rxtx_proc_NB_IoT_t *proc,nfapi_hi_dci0_request_pdu_t *hi_dci0_pdu);
/*Generate the dlsch params and do the mapping for the FAPI style parameters to OAI, and then do the packing*/ /*Generate the dlsch params and do the mapping for the FAPI style parameters to OAI, and then do the packing*/
void generate_eNB_dlsch_params_NB_IoT(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t * proc,nfapi_dl_config_request_pdu_t *dl_config_pdu); void generate_eNB_dlsch_params_NB_IoT(PHY_VARS_eNB *eNB,eNB_rxtx_proc_NB_IoT_t * proc,nfapi_dl_config_request_pdu_t *dl_config_pdu);
/*Process all the scheduling result from MAC and also common signals.*/ /*Process all the scheduling result from MAC and also common signals.*/
void phy_procedures_eNB_TX_NB_IoT(PHY_VARS_eNB_NB_IoT *eNB,eNB_rxtx_proc_t *proc,int do_meas); void phy_procedures_eNB_TX_NB_IoT(PHY_VARS_eNB_NB_IoT *eNB,eNB_rxtx_proc_NB_IoT_t *proc,int do_meas);
int8_t find_ue_NB_IoT(uint16_t rnti, PHY_VARS_eNB *eNB); int8_t find_ue_NB_IoT(uint16_t rnti, PHY_VARS_eNB *eNB);
...@@ -50,10 +50,10 @@ uint32_t is_SIB1_NB_IoT(const frame_t frameP, ...@@ -50,10 +50,10 @@ uint32_t is_SIB1_NB_IoT(const frame_t frameP,
uint32_t rx_nprach_NB_IoT(PHY_VARS_eNB *eNB,int frame, uint8_t subframe, uint16_t *rnti, uint16_t *preamble_index, uint16_t *timing_advance); uint32_t rx_nprach_NB_IoT(PHY_VARS_eNB *eNB,int frame, uint8_t subframe, uint16_t *rnti, uint16_t *preamble_index, uint16_t *timing_advance);
void npusch_procedures(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc); void npusch_procedures(PHY_VARS_eNB *eNB,eNB_rxtx_proc_NB_IoT_t *proc);
////////////////// NB-IoT testing //////////////////// ////////////////// NB-IoT testing ////////////////////
void fill_rx_indication_NB_IoT(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,uint8_t data_or_control, uint8_t decode_flag); void fill_rx_indication_NB_IoT(PHY_VARS_eNB *eNB,eNB_rxtx_proc_NB_IoT_t *proc,uint8_t data_or_control, uint8_t decode_flag);
void fill_crc_indication_NB_IoT(PHY_VARS_eNB *eNB,int UE_id,int frame,int subframe,uint8_t decode_flag); void fill_crc_indication_NB_IoT(PHY_VARS_eNB *eNB,int UE_id,int frame,int subframe,uint8_t decode_flag);
......
...@@ -213,7 +213,7 @@ uint32_t is_SIB1_NB_IoT(const frame_t frameP, ...@@ -213,7 +213,7 @@ uint32_t is_SIB1_NB_IoT(const frame_t frameP,
* It generates NRS/NPSS/NSSS * It generates NRS/NPSS/NSSS
* *
*/ */
void common_signal_procedures_NB_IoT(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc) void common_signal_procedures_NB_IoT(PHY_VARS_eNB *eNB,eNB_rxtx_proc_NB_IoT_t *proc)
{ {
//LTE_DL_FRAME_PARMS *fp = &eNB->frame_parms_NB_IoT; //LTE_DL_FRAME_PARMS *fp = &eNB->frame_parms_NB_IoT;
LTE_DL_FRAME_PARMS *fp = &eNB->frame_parms; LTE_DL_FRAME_PARMS *fp = &eNB->frame_parms;
...@@ -401,7 +401,7 @@ void common_signal_procedures_NB_IoT(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc) ...@@ -401,7 +401,7 @@ void common_signal_procedures_NB_IoT(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc)
} }
void phy_procedures_eNB_uespec_RX_NB_IoT(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc) //UL_IND_NB_IoT_t *UL_INFO) void phy_procedures_eNB_uespec_RX_NB_IoT(PHY_VARS_eNB *eNB,eNB_rxtx_proc_NB_IoT_t *proc) //UL_IND_NB_IoT_t *UL_INFO)
{ {
//RX processing for ue-specific resources (i //RX processing for ue-specific resources (i
//NB_IoT_DL_FRAME_PARMS *fp=&eNB->frame_parms_NB_IoT; //NB_IoT_DL_FRAME_PARMS *fp=&eNB->frame_parms_NB_IoT;
...@@ -437,7 +437,7 @@ void phy_procedures_eNB_uespec_RX_NB_IoT(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc ...@@ -437,7 +437,7 @@ void phy_procedures_eNB_uespec_RX_NB_IoT(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc
} }
/////////////////////////////////////////////////////////// backup //////////////////////////////////////////////////////// /////////////////////////////////////////////////////////// backup ////////////////////////////////////////////////////////
/*void phy_procedures_eNB_uespec_RX_NB_IoT(PHY_VARS_eNB_NB_IoT *eNB,eNB_rxtx_proc_t *proc, UL_IND_NB_IoT_t *UL_INFO) /*void phy_procedures_eNB_uespec_RX_NB_IoT(PHY_VARS_eNB_NB_IoT *eNB,eNB_rxtx_proc_NB_IoT_t *proc, UL_IND_NB_IoT_t *UL_INFO)
{ {
//RX processing for ue-specific resources (i //RX processing for ue-specific resources (i
uint32_t ret=0,i,j,k; uint32_t ret=0,i,j,k;
...@@ -762,7 +762,7 @@ void phy_procedures_eNB_uespec_RX_NB_IoT(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc ...@@ -762,7 +762,7 @@ void phy_procedures_eNB_uespec_RX_NB_IoT(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc
/////Generate eNB ndlsch params for NB-IoT from the NPDCCH PDU of the DCI, modify the input to the Sched Rsp variable//// /////Generate eNB ndlsch params for NB-IoT from the NPDCCH PDU of the DCI, modify the input to the Sched Rsp variable////
*/ */
void generate_eNB_dlsch_params_NB_IoT(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t * proc,nfapi_dl_config_request_pdu_t *dl_config_pdu) void generate_eNB_dlsch_params_NB_IoT(PHY_VARS_eNB *eNB,eNB_rxtx_proc_NB_IoT_t * proc,nfapi_dl_config_request_pdu_t *dl_config_pdu)
{ {
int UE_id = -1; int UE_id = -1;
LTE_DL_FRAME_PARMS *fp = &eNB->frame_parms; LTE_DL_FRAME_PARMS *fp = &eNB->frame_parms;
...@@ -911,7 +911,7 @@ void generate_eNB_dlsch_params_NB_IoT(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t * proc,n ...@@ -911,7 +911,7 @@ void generate_eNB_dlsch_params_NB_IoT(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t * proc,n
void generate_eNB_ulsch_params_NB_IoT(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,nfapi_hi_dci0_request_pdu_t *hi_dci0_pdu) { void generate_eNB_ulsch_params_NB_IoT(PHY_VARS_eNB *eNB,eNB_rxtx_proc_NB_IoT_t *proc,nfapi_hi_dci0_request_pdu_t *hi_dci0_pdu) {
//int UE_id = -1; //int UE_id = -1;
//int harq_pid = 0; //int harq_pid = 0;
...@@ -966,7 +966,7 @@ void generate_eNB_ulsch_params_NB_IoT(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,nf ...@@ -966,7 +966,7 @@ void generate_eNB_ulsch_params_NB_IoT(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,nf
* ** redundancy version exist only in UL for NB-IoT and not in DL * ** redundancy version exist only in UL for NB-IoT and not in DL
*/ */
void npdsch_procedures(PHY_VARS_eNB_NB_IoT *eNB, void npdsch_procedures(PHY_VARS_eNB_NB_IoT *eNB,
eNB_rxtx_proc_t *proc, //Context data structure for RX/TX portion of subframe processing eNB_rxtx_proc_NB_IoT_t *proc, //Context data structure for RX/TX portion of subframe processing
NB_IoT_eNB_NDLSCH_t *ndlsch, NB_IoT_eNB_NDLSCH_t *ndlsch,
//int num_pdcch_symbols, //(BCOM says are not needed //int num_pdcch_symbols, //(BCOM says are not needed
uint8_t *pdu uint8_t *pdu
...@@ -1228,7 +1228,7 @@ extern int oai_exit; ...@@ -1228,7 +1228,7 @@ extern int oai_exit;
*/ */
void phy_procedures_eNB_TX_NB_IoT(PHY_VARS_eNB_NB_IoT *eNB, void phy_procedures_eNB_TX_NB_IoT(PHY_VARS_eNB_NB_IoT *eNB,
eNB_rxtx_proc_t *proc, eNB_rxtx_proc_NB_IoT_t *proc,
int do_meas) int do_meas)
{ {
int frame = proc->frame_tx; int frame = proc->frame_tx;
...@@ -1607,7 +1607,7 @@ void fill_crc_indication_NB_IoT(PHY_VARS_eNB *eNB,int UE_id,int frame,int subfra ...@@ -1607,7 +1607,7 @@ void fill_crc_indication_NB_IoT(PHY_VARS_eNB *eNB,int UE_id,int frame,int subfra
pthread_mutex_unlock(&eNB->UL_INFO_mutex); pthread_mutex_unlock(&eNB->UL_INFO_mutex);
} }
void fill_rx_indication_NB_IoT(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,uint8_t data_or_control, uint8_t decode_flag) void fill_rx_indication_NB_IoT(PHY_VARS_eNB *eNB,eNB_rxtx_proc_NB_IoT_t *proc,uint8_t data_or_control, uint8_t decode_flag)
{ {
nfapi_rx_indication_pdu_t *pdu; nfapi_rx_indication_pdu_t *pdu;
nfapi_nb_harq_indication_pdu_t *ack_ind; // &eNB->UL_INFO.nb_harq_ind.nb_harq_indication_body.nb_harq_pdu_list[0] // nb_harq_indication_fdd_rel13->harq_tb1 nfapi_nb_harq_indication_pdu_t *ack_ind; // &eNB->UL_INFO.nb_harq_ind.nb_harq_indication_body.nb_harq_pdu_list[0] // nb_harq_indication_fdd_rel13->harq_tb1
...@@ -1680,7 +1680,7 @@ void fill_rx_indication_NB_IoT(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,uint8_t d ...@@ -1680,7 +1680,7 @@ void fill_rx_indication_NB_IoT(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,uint8_t d
void npusch_procedures(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc) void npusch_procedures(PHY_VARS_eNB *eNB,eNB_rxtx_proc_NB_IoT_t *proc)
{ {
uint32_t i; uint32_t i;
......
...@@ -127,7 +127,7 @@ extern int rx_sig_fifo; ...@@ -127,7 +127,7 @@ extern int rx_sig_fifo;
#endif #endif
uint8_t is_SR_subframe(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,uint8_t UE_id) uint8_t is_SR_subframe(PHY_VARS_eNB *eNB,eNB_rxtx_proc_NB_IoT_t *proc,uint8_t UE_id)
{ {
const int subframe = proc->subframe_rx; const int subframe = proc->subframe_rx;
...@@ -322,7 +322,7 @@ void phy_procedures_emos_eNB_TX(unsigned char subframe, PHY_VARS_eNB *eNB) ...@@ -322,7 +322,7 @@ void phy_procedures_emos_eNB_TX(unsigned char subframe, PHY_VARS_eNB *eNB)
} }
#endif #endif
void phy_procedures_eNB_S_RX(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,relaying_type_t r_type) void phy_procedures_eNB_S_RX(PHY_VARS_eNB *eNB,eNB_rxtx_proc_NB_IoT_t *proc,relaying_type_t r_type)
{ {
UNUSED(r_type); UNUSED(r_type);
int subframe = proc->subframe_rx; int subframe = proc->subframe_rx;
...@@ -419,7 +419,7 @@ unsigned int taus(void); ...@@ -419,7 +419,7 @@ unsigned int taus(void);
DCI_PDU DCI_pdu_tmp; DCI_PDU DCI_pdu_tmp;
void pmch_procedures(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,PHY_VARS_RN *rn,relaying_type_t r_type) { void pmch_procedures(PHY_VARS_eNB *eNB,eNB_rxtx_proc_NB_IoT_t *proc,PHY_VARS_RN *rn,relaying_type_t r_type) {
#if defined(Rel10) || defined(Rel14) #if defined(Rel10) || defined(Rel14)
...@@ -506,7 +506,7 @@ int16_t buffer_npusch_ext[153600]; ...@@ -506,7 +506,7 @@ int16_t buffer_npusch_ext[153600];
//int32_t llr_msg5[16]; //int32_t llr_msg5[16];
//int32_t y_msg5[16]; //int32_t y_msg5[16];
void common_signal_procedures (PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc) { void common_signal_procedures (PHY_VARS_eNB *eNB,eNB_rxtx_proc_NB_IoT_t *proc) {
LTE_DL_FRAME_PARMS *fp=&eNB->frame_parms; LTE_DL_FRAME_PARMS *fp=&eNB->frame_parms;
int **txdataF = eNB->common_vars.txdataF[0]; int **txdataF = eNB->common_vars.txdataF[0];
...@@ -877,7 +877,7 @@ if(proc->flag_msg4 == 1 && proc->counter_msg4 > 0) ...@@ -877,7 +877,7 @@ if(proc->flag_msg4 == 1 && proc->counter_msg4 > 0)
///////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////
} }
void generate_eNB_dlsch_params(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,DCI_ALLOC_t *dci_alloc,const int UE_id) { void generate_eNB_dlsch_params(PHY_VARS_eNB *eNB,eNB_rxtx_proc_NB_IoT_t *proc,DCI_ALLOC_t *dci_alloc,const int UE_id) {
LTE_DL_FRAME_PARMS *fp=&eNB->frame_parms; LTE_DL_FRAME_PARMS *fp=&eNB->frame_parms;
int frame = proc->frame_tx; int frame = proc->frame_tx;
...@@ -1022,7 +1022,7 @@ void generate_eNB_dlsch_params(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,DCI_ALLOC ...@@ -1022,7 +1022,7 @@ void generate_eNB_dlsch_params(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,DCI_ALLOC
} }
void generate_eNB_ulsch_params(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,DCI_ALLOC_t *dci_alloc,const int UE_id) { void generate_eNB_ulsch_params(PHY_VARS_eNB *eNB,eNB_rxtx_proc_NB_IoT_t *proc,DCI_ALLOC_t *dci_alloc,const int UE_id) {
int harq_pid; int harq_pid;
LTE_DL_FRAME_PARMS *fp=&eNB->frame_parms; LTE_DL_FRAME_PARMS *fp=&eNB->frame_parms;
...@@ -1118,7 +1118,7 @@ void generate_eNB_ulsch_params(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,DCI_ALLOC ...@@ -1118,7 +1118,7 @@ void generate_eNB_ulsch_params(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,DCI_ALLOC
} }
void pdsch_procedures(PHY_VARS_eNB *eNB, void pdsch_procedures(PHY_VARS_eNB *eNB,
eNB_rxtx_proc_t *proc, eNB_rxtx_proc_NB_IoT_t *proc,
LTE_eNB_DLSCH_t *dlsch, LTE_eNB_DLSCH_t *dlsch,
LTE_eNB_DLSCH_t *dlsch1, LTE_eNB_DLSCH_t *dlsch1,
LTE_eNB_UE_stats *ue_stats, LTE_eNB_UE_stats *ue_stats,
...@@ -1373,7 +1373,7 @@ void pdsch_procedures(PHY_VARS_eNB *eNB, ...@@ -1373,7 +1373,7 @@ void pdsch_procedures(PHY_VARS_eNB *eNB,
} }
void phy_procedures_eNB_TX(PHY_VARS_eNB *eNB, void phy_procedures_eNB_TX(PHY_VARS_eNB *eNB,
eNB_rxtx_proc_t *proc, eNB_rxtx_proc_NB_IoT_t *proc,
relaying_type_t r_type, relaying_type_t r_type,
PHY_VARS_RN *rn, PHY_VARS_RN *rn,
int do_meas, int do_meas,
...@@ -1748,7 +1748,7 @@ void phy_procedures_eNB_TX(PHY_VARS_eNB *eNB, ...@@ -1748,7 +1748,7 @@ void phy_procedures_eNB_TX(PHY_VARS_eNB *eNB,
} }
void process_Msg3(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,uint8_t UE_id, uint8_t harq_pid) void process_Msg3(PHY_VARS_eNB *eNB,eNB_rxtx_proc_NB_IoT_t *proc,uint8_t UE_id, uint8_t harq_pid)
{ {
// this prepares the demodulation of the first PUSCH of a new user, containing Msg3 // this prepares the demodulation of the first PUSCH of a new user, containing Msg3
int subframe = proc->subframe_rx; int subframe = proc->subframe_rx;
...@@ -1785,7 +1785,7 @@ void process_Msg3(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,uint8_t UE_id, uint8_t ...@@ -1785,7 +1785,7 @@ void process_Msg3(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,uint8_t UE_id, uint8_t
void process_HARQ_feedback(uint8_t UE_id, void process_HARQ_feedback(uint8_t UE_id,
PHY_VARS_eNB *eNB, PHY_VARS_eNB *eNB,
eNB_rxtx_proc_t *proc, eNB_rxtx_proc_NB_IoT_t *proc,
uint8_t pusch_flag, uint8_t pusch_flag,
uint8_t *pucch_payload, uint8_t *pucch_payload,
uint8_t pucch_sel, uint8_t pucch_sel,
...@@ -2058,7 +2058,7 @@ void process_HARQ_feedback(uint8_t UE_id, ...@@ -2058,7 +2058,7 @@ void process_HARQ_feedback(uint8_t UE_id,
} }
void get_n1_pucch_eNB(PHY_VARS_eNB *eNB, void get_n1_pucch_eNB(PHY_VARS_eNB *eNB,
eNB_rxtx_proc_t *proc, eNB_rxtx_proc_NB_IoT_t *proc,
uint8_t UE_id, uint8_t UE_id,
int16_t *n1_pucch0, int16_t *n1_pucch0,
int16_t *n1_pucch1, int16_t *n1_pucch1,
...@@ -2409,7 +2409,7 @@ void prach_procedures(PHY_VARS_eNB *eNB) { ...@@ -2409,7 +2409,7 @@ void prach_procedures(PHY_VARS_eNB *eNB) {
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_ENB_PRACH_RX,0);*/ VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_PHY_ENB_PRACH_RX,0);*/
} }
void pucch_procedures(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,int UE_id,int harq_pid,uint8_t do_srs) void pucch_procedures(PHY_VARS_eNB *eNB,eNB_rxtx_proc_NB_IoT_t *proc,int UE_id,int harq_pid,uint8_t do_srs)
{ {
LTE_DL_FRAME_PARMS *fp=&eNB->frame_parms; LTE_DL_FRAME_PARMS *fp=&eNB->frame_parms;
uint8_t SR_payload = 0,*pucch_payload=NULL,pucch_payload0[2]= {0,0},pucch_payload1[2]= {0,0}; uint8_t SR_payload = 0,*pucch_payload=NULL,pucch_payload0[2]= {0,0},pucch_payload1[2]= {0,0};
...@@ -2750,7 +2750,7 @@ void pucch_procedures(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,int UE_id,int harq ...@@ -2750,7 +2750,7 @@ void pucch_procedures(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,int UE_id,int harq
} }
void cba_procedures(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,int UE_id,int harq_pid) { void cba_procedures(PHY_VARS_eNB *eNB,eNB_rxtx_proc_NB_IoT_t *proc,int UE_id,int harq_pid) {
uint8_t access_mode; uint8_t access_mode;
int num_active_cba_groups; int num_active_cba_groups;
...@@ -3013,7 +3013,7 @@ void init_te_thread(PHY_VARS_eNB *eNB,pthread_attr_t *attr_te) { ...@@ -3013,7 +3013,7 @@ void init_te_thread(PHY_VARS_eNB *eNB,pthread_attr_t *attr_te) {
} }
*/ */
void eNB_fep_full_2thread(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc_rxtx) { void eNB_fep_full_2thread(PHY_VARS_eNB *eNB,eNB_rxtx_proc_NB_IoT_t *proc_rxtx) {
eNB_proc_t *proc = &eNB->proc; eNB_proc_t *proc = &eNB->proc;
...@@ -3059,7 +3059,7 @@ void eNB_fep_full_2thread(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc_rxtx) { ...@@ -3059,7 +3059,7 @@ void eNB_fep_full_2thread(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc_rxtx) {
void eNB_fep_full(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc_rxtx) { void eNB_fep_full(PHY_VARS_eNB *eNB,eNB_rxtx_proc_NB_IoT_t *proc_rxtx) {
int l; int l;
LTE_DL_FRAME_PARMS *fp=&eNB->frame_parms; LTE_DL_FRAME_PARMS *fp=&eNB->frame_parms;
...@@ -3099,7 +3099,7 @@ void eNB_fep_full(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc_rxtx) { ...@@ -3099,7 +3099,7 @@ void eNB_fep_full(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc_rxtx) {
} }
} }
void eNB_fep_rru_if5(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc_rxtx) { void eNB_fep_rru_if5(PHY_VARS_eNB *eNB,eNB_rxtx_proc_NB_IoT_t *proc_rxtx) {
eNB_proc_t *proc=&eNB->proc; eNB_proc_t *proc=&eNB->proc;
uint8_t seqno=0; uint8_t seqno=0;
...@@ -3160,7 +3160,7 @@ if(frame%2==0 && subframe==9) ...@@ -3160,7 +3160,7 @@ if(frame%2==0 && subframe==9)
} }
void phy_procedures_eNB_common_RX(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc){ void phy_procedures_eNB_common_RX(PHY_VARS_eNB *eNB,eNB_rxtx_proc_NB_IoT_t *proc){
// eNB_proc_t *proc = &eNB->proc; // eNB_proc_t *proc = &eNB->proc;
...@@ -3193,7 +3193,7 @@ void phy_procedures_eNB_common_RX(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc){ ...@@ -3193,7 +3193,7 @@ void phy_procedures_eNB_common_RX(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc){
} }
/* /*
void fill_rx_indication_NB_IoT(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,uint8_t data_or_control, uint8_t msg3_flag) void fill_rx_indication_NB_IoT(PHY_VARS_eNB *eNB,eNB_rxtx_proc_NB_IoT_t *proc,uint8_t data_or_control, uint8_t msg3_flag)
{ {
nfapi_rx_indication_pdu_t *pdu; nfapi_rx_indication_pdu_t *pdu;
...@@ -3235,7 +3235,7 @@ void fill_rx_indication_NB_IoT(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,uint8_t d ...@@ -3235,7 +3235,7 @@ void fill_rx_indication_NB_IoT(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,uint8_t d
} }
*/ */
void phy_procedures_eNB_uespec_RX(PHY_VARS_eNB *eNB,eNB_rxtx_proc_t *proc,const relaying_type_t r_type) void phy_procedures_eNB_uespec_RX(PHY_VARS_eNB *eNB,eNB_rxtx_proc_NB_IoT_t *proc,const relaying_type_t r_type)
{ {
//RX processing for ue-specific resources (i //RX processing for ue-specific resources (i
UNUSED(r_type); UNUSED(r_type);
......
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
//#include "COMMON/openair_defs.h" //#include "COMMON/openair_defs.h"
#include "COMMON/platform_constants.h" #include "COMMON/platform_constants.h"
#include "COMMON/mac_rrc_primitives.h" #include "COMMON/mac_rrc_primitives.h"
#include "PHY/LTE_TRANSPORT/defs_NB_IoT.h" #include "PHY/NBIoT_TRANSPORT/defs_NB_IoT.h"
//#include "PHY/defs.h" //#include "PHY/defs.h"
#include "PHY/defs_L1_NB_IoT.h" #include "PHY/defs_L1_NB_IoT.h"
#include "openair2/PHY_INTERFACE/IF_Module_NB_IoT.h" #include "openair2/PHY_INTERFACE/IF_Module_NB_IoT.h"
...@@ -593,7 +593,7 @@ typedef struct { ...@@ -593,7 +593,7 @@ typedef struct {
nprach_parameters_NB_IoT_t nprach_list[3]; nprach_parameters_NB_IoT_t nprach_list[3];
nfapi_config_request_t config;
//DLSF Table //DLSF Table
DLSF_INFO_t DLSF_information; DLSF_INFO_t DLSF_information;
......
...@@ -56,7 +56,7 @@ ...@@ -56,7 +56,7 @@
#include "UTIL/OSA/osa_defs.h" #include "UTIL/OSA/osa_defs.h"
#include "openair2/RRC/NAS/nas_config.h" #include "openair2/RRC/NAS/nas_config.h"
# include "intertask_interface.h" # include "intertask_interface.h"
#include "enb_paramdef.h" #include "ENB_APP/enb_paramdef_NB_IoT.h"
# include "gtpv1u_eNB_task.h" # include "gtpv1u_eNB_task.h"
# include "gtpv1u.h" # include "gtpv1u.h"
...@@ -89,7 +89,7 @@ if (NBconfig.NB_IoT_configured > 0) ...@@ -89,7 +89,7 @@ if (NBconfig.NB_IoT_configured > 0)
#include "openair2/RRC/NBIOT/proto_NB_IoT.h" #include "openair2/RRC/NBIOT/proto_NB_IoT.h"
#undef maxDRB #undef maxDRB
#define maxDRB maxDRB_NB_r13 #define maxDRB maxDRB_NB_r13
#endif
} }
/* pdcp module parameters and related functions*/ /* pdcp module parameters and related functions*/
......
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