Commit e17b9635 authored by Raymond Knopp's avatar Raymond Knopp

removal of warning

parent 527b0b89
...@@ -33,6 +33,7 @@ ...@@ -33,6 +33,7 @@
#include "PHY/LTE_ESTIMATION/lte_estimation.h" #include "PHY/LTE_ESTIMATION/lte_estimation.h"
#include "PHY/LTE_TRANSPORT/transport_common_proto.h" #include "PHY/LTE_TRANSPORT/transport_common_proto.h"
#include "PHY/LTE_UE_TRANSPORT/transport_proto_ue.h" #include "PHY/LTE_UE_TRANSPORT/transport_proto_ue.h"
#include "PHY/LTE_TRANSPORT/transport_proto.h"
#include "PHY/LTE_REFSIG/lte_refsig.h" #include "PHY/LTE_REFSIG/lte_refsig.h"
void init_7_5KHz(void); void init_7_5KHz(void);
......
...@@ -708,7 +708,7 @@ int lte_sync_timeSL(PHY_VARS_UE *ue, ...@@ -708,7 +708,7 @@ int lte_sync_timeSL(PHY_VARS_UE *ue,
int64_t result; int64_t result;
int32_t **rxdata = (int32_t**)ue->common_vars.rxdata_syncSL; ///rx data in time domain int32_t **rxdata = (int32_t**)ue->common_vars.rxdata_syncSL; ///rx data in time domain
RU_t ru_tmp; RU_t ru_tmp;
int16_t **rxdata_7_5kHz = ue->sl_rxdata_7_5kHz; int16_t **rxdata_7_5kHz = (int16_t**)ue->sl_rxdata_7_5kHz;
memset((void*)&ru_tmp,0,sizeof(RU_t)); memset((void*)&ru_tmp,0,sizeof(RU_t));
......
...@@ -717,7 +717,6 @@ int dlsch_encoding0(LTE_DL_FRAME_PARMS *frame_parms, ...@@ -717,7 +717,6 @@ int dlsch_encoding0(LTE_DL_FRAME_PARMS *frame_parms,
unsigned int G; unsigned int G;
unsigned int crc=1; unsigned int crc=1;
unsigned short iind;
unsigned char harq_pid = dlsch->harq_ids[frame%2][subframe]; unsigned char harq_pid = dlsch->harq_ids[frame%2][subframe];
if(harq_pid >= dlsch->Mdlharq) { if(harq_pid >= dlsch->Mdlharq) {
...@@ -793,20 +792,6 @@ int dlsch_encoding0(LTE_DL_FRAME_PARMS *frame_parms, ...@@ -793,20 +792,6 @@ int dlsch_encoding0(LTE_DL_FRAME_PARMS *frame_parms,
Kr_bytes = Kr>>3; Kr_bytes = Kr>>3;
// get interleaver index for Turbo code (lookup in Table 5.1.3-3 36-212, V8.6 2009-03, p. 13-14)
if (Kr_bytes<=64)
iind = (Kr_bytes-5);
else if (Kr_bytes <=128)
iind = 59 + ((Kr_bytes-64)>>1);
else if (Kr_bytes <= 256)
iind = 91 + ((Kr_bytes-128)>>2);
else if (Kr_bytes <= 768)
iind = 123 + ((Kr_bytes-256)>>3);
else {
printf("dlsch_coding: Illegal codeword size %d!!!\n",Kr_bytes);
return(-1);
}
#ifdef DEBUG_DLSCH_CODING #ifdef DEBUG_DLSCH_CODING
printf("Generating Code Segment %d (%d bits)\n",r,Kr); printf("Generating Code Segment %d (%d bits)\n",r,Kr);
...@@ -818,10 +803,6 @@ int dlsch_encoding0(LTE_DL_FRAME_PARMS *frame_parms, ...@@ -818,10 +803,6 @@ int dlsch_encoding0(LTE_DL_FRAME_PARMS *frame_parms,
printf("mod_order %d\n",mod_order); printf("mod_order %d\n",mod_order);
#endif #endif
#ifdef DEBUG_DLSCH_CODING
printf("Encoding ... iind %d f1 %d, f2 %d\n",iind,f1f2mat_old[iind*2],f1f2mat_old[(iind*2)+1]);
#endif
start_meas(te_stats); start_meas(te_stats);
encoder(dlsch->harq_processes[harq_pid]->c[r], encoder(dlsch->harq_processes[harq_pid]->c[r],
Kr>>3, Kr>>3,
......
...@@ -150,6 +150,11 @@ int generate_drs_pusch(PHY_VARS_UE *ue, ...@@ -150,6 +150,11 @@ int generate_drs_pusch(PHY_VARS_UE *ue,
frame_parms->pusch_config_common.ul_ReferenceSignalsPUSCH.nPRS[(subframe<<1)+1]+ frame_parms->pusch_config_common.ul_ReferenceSignalsPUSCH.nPRS[(subframe<<1)+1]+
((ue->ulsch[0]->cooperation_flag==2)?10:0)+ ((ue->ulsch[0]->cooperation_flag==2)?10:0)+
ant*6) % 12; ant*6) % 12;
break;
default:
AssertFatal(1==0,"shouldn't get here\n");
break;
} }
// cyclic_shift0 = 0; // cyclic_shift0 = 0;
// cyclic_shift1 = 0; // cyclic_shift1 = 0;
......
...@@ -38,8 +38,7 @@ ...@@ -38,8 +38,7 @@
//#include "defs.h" //#include "defs.h"
#include "PHY/defs_UE.h" #include "PHY/defs_UE.h"
#include "PHY/phy_extern.h" #include "PHY/phy_extern.h"
#include "transport_proto_ue.h" #include "PHY/LTE_UE_TRANSPORT/transport_proto_ue.h"
#include "PHY/LTE_TRANSPORT/transport_proto.h"
#include "PHY/MODULATION/modulation_eNB.h" #include "PHY/MODULATION/modulation_eNB.h"
#include "PHY/LTE_ESTIMATION/lte_estimation.h" #include "PHY/LTE_ESTIMATION/lte_estimation.h"
...@@ -48,11 +47,28 @@ ...@@ -48,11 +47,28 @@
//#define PSBCH_DEBUG 1 //#define PSBCH_DEBUG 1
extern void dft_lte(int32_t *z,int32_t *d, int32_t Msc_PUSCH, uint8_t Nsymb); void dft_lte(int32_t *z,int32_t *d, int32_t Msc_PUSCH, uint8_t Nsymb);
extern void ulsch_channel_level(int32_t **drs_ch_estimates_ext, LTE_DL_FRAME_PARMS *frame_parms, int32_t *avg, uint16_t nb_rb); void ulsch_channel_level(int32_t **drs_ch_estimates_ext, LTE_DL_FRAME_PARMS *frame_parms, int32_t *avg, uint16_t nb_rb);
extern void lte_idft(LTE_DL_FRAME_PARMS *frame_parms,uint32_t *z, uint16_t Msc_PUSCH); void lte_idft(LTE_DL_FRAME_PARMS *frame_parms,uint32_t *z, uint16_t Msc_PUSCH);
extern void pbch_quantize(int8_t *pbch_llr8, int16_t *pbch_llr, uint16_t len); void pbch_quantize(int8_t *pbch_llr8, int16_t *pbch_llr, uint16_t len);
void ulsch_extract_rbs_single(int32_t **rxdataF,
int32_t **rxdataF_ext,
uint32_t first_rb,
uint32_t nb_rb,
uint8_t l,
uint8_t Ns,
LTE_DL_FRAME_PARMS *frame_parms);
void lte_idft(LTE_DL_FRAME_PARMS *frame_parms,uint32_t *z, uint16_t Msc_PUSCH);
int dlsch_encoding0(LTE_DL_FRAME_PARMS *frame_parms,
unsigned char *a,
uint8_t num_pdcch_symbols,
LTE_eNB_DLSCH_t *dlsch,
int frame,
uint8_t subframe,
time_stats_t *rm_stats,
time_stats_t *te_stats,
time_stats_t *i_stats);
int generate_slbch(int32_t **txdataF, int generate_slbch(int32_t **txdataF,
...@@ -157,7 +173,7 @@ int rx_psbch(PHY_VARS_UE *ue,int frame_rx,int subframe_rx) { ...@@ -157,7 +173,7 @@ int rx_psbch(PHY_VARS_UE *ue,int frame_rx,int subframe_rx) {
ru_tmp.N_TA_offset=0; ru_tmp.N_TA_offset=0;
ru_tmp.common.rxdata_7_5kHz = (int32_t**)malloc16(ue->frame_parms.nb_antennas_rx*sizeof(int32_t*)); ru_tmp.common.rxdata_7_5kHz = (int32_t**)malloc16(ue->frame_parms.nb_antennas_rx*sizeof(int32_t*));
for (int aa=0;aa<ue->frame_parms.nb_antennas_rx;aa++) for (int aa=0;aa<ue->frame_parms.nb_antennas_rx;aa++)
ru_tmp.common.rxdata_7_5kHz[aa] = ue->sl_rxdata_7_5kHz[ue->current_thread_id[0]][aa];//(int32_t*)&ue->common_vars.rxdata_syncSL[aa][ue->rx_offsetSL*2]; ru_tmp.common.rxdata_7_5kHz[aa] = (int32_t*)ue->sl_rxdata_7_5kHz[ue->current_thread_id[0]][aa];//(int32_t*)&ue->common_vars.rxdata_syncSL[aa][ue->rx_offsetSL*2];
ru_tmp.common.rxdataF = (int32_t**)rxdataF; ru_tmp.common.rxdataF = (int32_t**)rxdataF;
ru_tmp.nb_rx = ue->frame_parms.nb_antennas_rx; ru_tmp.nb_rx = ue->frame_parms.nb_antennas_rx;
...@@ -179,7 +195,7 @@ int rx_psbch(PHY_VARS_UE *ue,int frame_rx,int subframe_rx) { ...@@ -179,7 +195,7 @@ int rx_psbch(PHY_VARS_UE *ue,int frame_rx,int subframe_rx) {
LOG_D(PHY,"Running PBCH detection with Nid_SL %d (is_synchronizedSL %d) rxdata %p\n",ue->frame_parms.Nid_SL,ue->is_synchronizedSL,ue->common_vars.rxdata[0]); LOG_D(PHY,"Running PBCH detection with Nid_SL %d (is_synchronizedSL %d) rxdata %p\n",ue->frame_parms.Nid_SL,ue->is_synchronizedSL,ue->common_vars.rxdata[0]);
LOG_D(PHY,"slbch_decoding: FEP in %d.%d rx signal energy %d dB %d dB\n",frame_rx,subframe_rx, LOG_D(PHY,"slbch_decoding: FEP in %d.%d rx signal energy %d dB %d dB\n",frame_rx,subframe_rx,
dB_fixed((uint32_t)signal_energy(&ue->common_vars.rxdata[0][ue->frame_parms.samples_per_tti*subframe_rx],ue->frame_parms.samples_per_tti)), dB_fixed((uint32_t)signal_energy(&ue->common_vars.rxdata[0][ue->frame_parms.samples_per_tti*subframe_rx],ue->frame_parms.samples_per_tti)),
dB_fixed((uint32_t)signal_energy(ue->sl_rxdata_7_5kHz[ue->current_thread_id[0]][0],ue->frame_parms.samples_per_tti))); dB_fixed((uint32_t)signal_energy((int32_t*)ue->sl_rxdata_7_5kHz[ue->current_thread_id[0]][0],ue->frame_parms.samples_per_tti)));
for (int l=0; l<11; l++) { for (int l=0; l<11; l++) {
slot_fep_ul(&ru_tmp,l%7,(l>6)?1:0,0); slot_fep_ul(&ru_tmp,l%7,(l>6)?1:0,0);
...@@ -286,7 +302,7 @@ int rx_psbch(PHY_VARS_UE *ue,int frame_rx,int subframe_rx) { ...@@ -286,7 +302,7 @@ int rx_psbch(PHY_VARS_UE *ue,int frame_rx,int subframe_rx) {
if (l==0) l=3; if (l==0) l=3;
} }
lte_idft(&ue->frame_parms, lte_idft(&ue->frame_parms,
rxdataF_comp[0], (uint32_t*)rxdataF_comp[0],
72); 72);
#ifdef PSBCH_DEBUG #ifdef PSBCH_DEBUG
...@@ -297,7 +313,7 @@ int rx_psbch(PHY_VARS_UE *ue,int frame_rx,int subframe_rx) { ...@@ -297,7 +313,7 @@ int rx_psbch(PHY_VARS_UE *ue,int frame_rx,int subframe_rx) {
for (int l=0; l<10; l++) { for (int l=0; l<10; l++) {
pbch_quantize(llrp, pbch_quantize(llrp,
&rxdataF_comp[0][l*ue->frame_parms.N_RB_UL*12*2], (int16_t*)&rxdataF_comp[0][l*ue->frame_parms.N_RB_UL*12*2],
72*2); 72*2);
llrp += 72*2; llrp += 72*2;
if (l==0) l=3; if (l==0) l=3;
......
...@@ -32,9 +32,34 @@ ...@@ -32,9 +32,34 @@
#ifndef __LTE_TRANSPORT_SLSS__C__ #ifndef __LTE_TRANSPORT_SLSS__C__
#define __LTE_TRANSPORT_SLSS__C__ #define __LTE_TRANSPORT_SLSS__C__
#include "PHY/defs_UE.h" #include "PHY/defs_UE.h"
//#include "PHY/LTE_TRANSPORT/proto.h" #include "PHY/LTE_UE_TRANSPORT/transport_proto_ue.h"
#include "PHY/LTE_TRANSPORT/transport_proto.h" #include "PHY/MODULATION/modulation_eNB.h"
#include "PHY/LTE_ESTIMATION/lte_estimation.h"
#include "PHY/LTE_REFSIG/lte_refsig.h"
#include "LAYER2/MAC/mac_proto.h"
#include "SCHED_UE/sched_UE.h"
extern uint8_t D2D_en; extern uint8_t D2D_en;
void ulsch_channel_level(int32_t **drs_ch_estimates_ext, LTE_DL_FRAME_PARMS *frame_parms, int32_t *avg, uint16_t nb_rb);
void ulsch_extract_rbs_single(int32_t **rxdataF,
int32_t **rxdataF_ext,
uint32_t first_rb,
uint32_t nb_rb,
uint8_t l,
uint8_t Ns,
LTE_DL_FRAME_PARMS *frame_parms);
void lte_idft(LTE_DL_FRAME_PARMS *frame_parms,uint32_t *z, uint16_t Msc_PUSCH);
int dlsch_encoding0(LTE_DL_FRAME_PARMS *frame_parms,
unsigned char *a,
uint8_t num_pdcch_symbols,
LTE_eNB_DLSCH_t *dlsch,
int frame,
uint8_t subframe,
time_stats_t *rm_stats,
time_stats_t *te_stats,
time_stats_t *i_stats);
//#define PSDCH_DEBUG 1 //#define PSDCH_DEBUG 1
...@@ -80,9 +105,9 @@ void sldch_decoding(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,int frame_rx,int subfra ...@@ -80,9 +105,9 @@ void sldch_decoding(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,int frame_rx,int subfra
} }
} }
LOG_D(PHY,"sldch_decoding: FEP in %d.%d for npsdch %d rvidx %d rx signal energy %d (%p) dB %d dB\n",frame_rx,subframe_rx,npsdch,rvidx, LOG_D(PHY,"sldch_decoding: FEP in %d.%d for npsdch %d rvidx %d rx signal energy %d (%p) dB %d dB\n",frame_rx,subframe_rx,npsdch,rvidx,
dB_fixed(signal_energy(&ue->common_vars.rxdata[0][ue->frame_parms.samples_per_tti*subframe_rx],ue->frame_parms.samples_per_tti)), dB_fixed(signal_energy((int32_t*)&ue->common_vars.rxdata[0][ue->frame_parms.samples_per_tti*subframe_rx],ue->frame_parms.samples_per_tti)),
&ue->common_vars.rxdata[0][ue->frame_parms.samples_per_tti*subframe_rx], &ue->common_vars.rxdata[0][ue->frame_parms.samples_per_tti*subframe_rx],
dB_fixed(signal_energy(ue->sl_rxdata_7_5kHz[ue->current_thread_id[subframe_rx]][0],ue->frame_parms.samples_per_tti))); dB_fixed(signal_energy((int32_t*)ue->sl_rxdata_7_5kHz[ue->current_thread_id[subframe_rx]][0],ue->frame_parms.samples_per_tti)));
for (int l=0; l<Nsymb; l++) { for (int l=0; l<Nsymb; l++) {
ulsch_extract_rbs_single((int32_t**)rxdataF, ulsch_extract_rbs_single((int32_t**)rxdataF,
...@@ -140,7 +165,7 @@ void sldch_decoding(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,int frame_rx,int subfra ...@@ -140,7 +165,7 @@ void sldch_decoding(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,int frame_rx,int subfra
0, // interpolation 0, // interpolation
0); 0);
ulsch_channel_level(drs_ch_estimates, ulsch_channel_level((int32_t**)drs_ch_estimates,
&ue->frame_parms, &ue->frame_parms,
avgU, avgU,
2); 2);
...@@ -200,7 +225,7 @@ void sldch_decoding(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,int frame_rx,int subfra ...@@ -200,7 +225,7 @@ void sldch_decoding(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,int frame_rx,int subfra
} }
lte_idft(&ue->frame_parms, lte_idft(&ue->frame_parms,
rxdataF_comp[0], (uint32_t*)rxdataF_comp[0],
24); 24);
#ifdef PSDCH_DEBUG #ifdef PSDCH_DEBUG
...@@ -364,7 +389,7 @@ void rx_sldch(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc, int frame_rx,int subframe_rx ...@@ -364,7 +389,7 @@ void rx_sldch(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc, int frame_rx,int subframe_rx
int npsdch; int npsdch;
int nprb; int nprb;
LOG_D(PHY,"LPSDCH %d (%llx), N_TX_SLD %d, Ni %d, Nf %d\n",LPSDCH,sldch->bitmap1,N_TX_SLD,Ni,Nf); LOG_D(PHY,"LPSDCH %d (%llx), N_TX_SLD %d, Ni %d, Nf %d\n",LPSDCH,(long long unsigned int)sldch->bitmap1,N_TX_SLD,Ni,Nf);
// loop over all candidate PRBs // loop over all candidate PRBs
for (int a_ji=0;a_ji<Nf;a_ji++){ for (int a_ji=0;a_ji<Nf;a_ji++){
jrx = absSF_modP%N_TX_SLD;//i/(Nf/N_TX_SLD); jrx = absSF_modP%N_TX_SLD;//i/(Nf/N_TX_SLD);
...@@ -410,7 +435,7 @@ void generate_sldch(PHY_VARS_UE *ue,SLDCH_t *sldch,int frame_tx,int subframe_tx) ...@@ -410,7 +435,7 @@ void generate_sldch(PHY_VARS_UE *ue,SLDCH_t *sldch,int frame_tx,int subframe_tx)
sldch_header_len+sizeof(SLDCH_t)-sizeof(uint8_t*)+sldch->payload_length); sldch_header_len+sizeof(SLDCH_t)-sizeof(uint8_t*)+sldch->payload_length);
multicast_link_write_sock(0, multicast_link_write_sock(0,
&pdu, (char *)&pdu,
sldch_header_len+sizeof(SLDCH_t)); sldch_header_len+sizeof(SLDCH_t));
} }
...@@ -555,7 +580,7 @@ void check_and_generate_psdch(PHY_VARS_UE *ue,int frame_tx,int subframe_tx) { ...@@ -555,7 +580,7 @@ void check_and_generate_psdch(PHY_VARS_UE *ue,int frame_tx,int subframe_tx) {
absSF_modP = absSF_offset%P; absSF_modP = absSF_offset%P;
uint64_t SFpos = ((uint64_t)1) << absSF_modP; uint64_t SFpos = ((uint64_t)1) << absSF_modP;
LOG_D(PHY,"SLDCH: SFN.SF %d.%d : absSF_modP %d, bitmap1 %llx\n",frame_tx,subframe_tx,absSF_modP,sldch->bitmap1); LOG_D(PHY,"SLDCH: SFN.SF %d.%d : absSF_modP %d, bitmap1 %llx\n",frame_tx,subframe_tx,absSF_modP,(unsigned long long)sldch->bitmap1);
if ((SFpos & sldch->bitmap1) == 0) return; if ((SFpos & sldch->bitmap1) == 0) return;
......
...@@ -31,8 +31,12 @@ ...@@ -31,8 +31,12 @@
*/ */
#include "PHY/defs_UE.h" #include "PHY/defs_UE.h"
#include "pssch.h" #include "pssch.h"
#include "transport_proto_ue.h" #include "PHY/LTE_UE_TRANSPORT/transport_proto_ue.h"
#include "PHY/LTE_REFSIG/lte_refsig.h"
#include "SCHED_UE/sched_UE.h"
#include "PHY/MODULATION/modulation_eNB.h"
#include "PHY/LTE_ESTIMATION/lte_estimation.h"
#include "LAYER2/MAC/mac_proto.h"
//#define PSSCH_DEBUG 1 //#define PSSCH_DEBUG 1
#define DEBUG_SCI_DECODING 1 #define DEBUG_SCI_DECODING 1
...@@ -40,6 +44,31 @@ extern int ...@@ -40,6 +44,31 @@ extern int
multicast_link_write_sock(int groupP, char *dataP, uint32_t sizeP); multicast_link_write_sock(int groupP, char *dataP, uint32_t sizeP);
extern uint8_t D2D_en; extern uint8_t D2D_en;
void ulsch_channel_level(int32_t **drs_ch_estimates_ext, LTE_DL_FRAME_PARMS *frame_parms, int32_t *avg, uint16_t nb_rb);
void ulsch_extract_rbs_single(int32_t **rxdataF,
int32_t **rxdataF_ext,
uint32_t first_rb,
uint32_t nb_rb,
uint8_t l,
uint8_t Ns,
LTE_DL_FRAME_PARMS *frame_parms);
void lte_idft(LTE_DL_FRAME_PARMS *frame_parms,uint32_t *z, uint16_t Msc_PUSCH);
int dlsch_encoding0(LTE_DL_FRAME_PARMS *frame_parms,
unsigned char *a,
uint8_t num_pdcch_symbols,
LTE_eNB_DLSCH_t *dlsch,
int frame,
uint8_t subframe,
time_stats_t *rm_stats,
time_stats_t *te_stats,
time_stats_t *i_stats);
void dci_encoding(uint8_t *a,
uint8_t A,
uint16_t E,
uint8_t *e,
uint16_t rnti);
void generate_sl_grouphop(PHY_VARS_UE *ue) void generate_sl_grouphop(PHY_VARS_UE *ue)
{ {
...@@ -109,7 +138,7 @@ uint64_t sci_mapping(PHY_VARS_UE *ue) { ...@@ -109,7 +138,7 @@ uint64_t sci_mapping(PHY_VARS_UE *ue) {
AssertFatal(slsch->group_destination_id<256,"slsch->group_destination_id %d >= 256\n",slsch->group_destination_id); AssertFatal(slsch->group_destination_id<256,"slsch->group_destination_id %d >= 256\n",slsch->group_destination_id);
uint64_t group_destination_id = (uint64_t)slsch->group_destination_id; uint64_t group_destination_id = (uint64_t)slsch->group_destination_id;
LOG_D(PHY,"SCI : RAbits %d\n",RAbits); LOG_D(PHY,"SCI : RAbits %llu\n",(long long unsigned int)RAbits);
// map bitfields // map bitfields
// frequency-hopping 1-bit // frequency-hopping 1-bit
return( (freq_hopping_flag <<63) | return( (freq_hopping_flag <<63) |
...@@ -732,7 +761,7 @@ void check_and_generate_pscch(PHY_VARS_UE *ue,int frame_tx,int subframe_tx) { ...@@ -732,7 +761,7 @@ void check_and_generate_pscch(PHY_VARS_UE *ue,int frame_tx,int subframe_tx) {
ue->pscch_generated=0; ue->pscch_generated=0;
return; return;
} }
LOG_D(PHY,"Checking pscch for absSF_modP %d (SubframeBitmalSL_length %d,mask %x)\n",absSF_modP,slsch->SubframeBitmapSL_length,slsch->bitmap1); LOG_D(PHY,"Checking pscch for absSF_modP %d (SubframeBitmalSL_length %d,mask %llx)\n",absSF_modP,slsch->SubframeBitmapSL_length,(long long unsigned int)slsch->bitmap1);
uint64_t SFpos = ((uint64_t)1) << absSF_modP; uint64_t SFpos = ((uint64_t)1) << absSF_modP;
if ((SFpos & slsch->bitmap1) == 0) return; if ((SFpos & slsch->bitmap1) == 0) return;
...@@ -799,7 +828,7 @@ void generate_slsch(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc, SLSCH_t *slsch,int fra ...@@ -799,7 +828,7 @@ void generate_slsch(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc, SLSCH_t *slsch,int fra
slsch_header_len+sizeof(SLSCH_t)-sizeof(uint8_t*)+slsch->payload_length); slsch_header_len+sizeof(SLSCH_t)-sizeof(uint8_t*)+slsch->payload_length);
multicast_link_write_sock(0, multicast_link_write_sock(0,
&pdu, (char *)&pdu,
slsch_header_len+sizeof(SLSCH_t)-sizeof(uint8_t*)+slsch->payload_length); slsch_header_len+sizeof(SLSCH_t)-sizeof(uint8_t*)+slsch->payload_length);
} }
...@@ -824,10 +853,10 @@ void pscch_decoding(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,int frame_rx,int subfra ...@@ -824,10 +853,10 @@ void pscch_decoding(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,int frame_rx,int subfra
SLSCH_t *slsch = &ue->slsch_rx; SLSCH_t *slsch = &ue->slsch_rx;
uint32_t amod = a%(slsch->N_SL_RB_SC); uint32_t amod = a%(slsch->N_SL_RB_SC);
int16_t **rxdataF_ext = ue->pusch_slcch->rxdataF_ext; int16_t **rxdataF_ext = (int16_t**)ue->pusch_slcch->rxdataF_ext;
int16_t **drs_ch_estimates = ue->pusch_slcch->drs_ch_estimates; int16_t **drs_ch_estimates = (int16_t**)ue->pusch_slcch->drs_ch_estimates;
int16_t **rxdataF_comp = ue->pusch_slcch->rxdataF_comp; int16_t **rxdataF_comp = (int16_t**)ue->pusch_slcch->rxdataF_comp;
int16_t **ul_ch_mag = ue->pusch_slcch->ul_ch_mag; int16_t **ul_ch_mag = (int16_t**)ue->pusch_slcch->ul_ch_mag;
int16_t **rxdata_7_5kHz = ue->sl_rxdata_7_5kHz[ue->current_thread_id[subframe_rx]]; int16_t **rxdata_7_5kHz = ue->sl_rxdata_7_5kHz[ue->current_thread_id[subframe_rx]];
int16_t **rxdataF = ue->sl_rxdataF[ue->current_thread_id[subframe_rx]]; int16_t **rxdataF = ue->sl_rxdataF[ue->current_thread_id[subframe_rx]];
int32_t avgs; int32_t avgs;
...@@ -901,7 +930,7 @@ void pscch_decoding(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,int frame_rx,int subfra ...@@ -901,7 +930,7 @@ void pscch_decoding(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,int frame_rx,int subfra
write_output("drs_ext0.m","drsest0",drs_ch_estimates[0],ue->frame_parms.N_RB_UL*12*14,1,1); write_output("drs_ext0.m","drsest0",drs_ch_estimates[0],ue->frame_parms.N_RB_UL*12*14,1,1);
#endif #endif
ulsch_channel_level(drs_ch_estimates, ulsch_channel_level((int32_t**)drs_ch_estimates,
&ue->frame_parms, &ue->frame_parms,
avgU, avgU,
1); 1);
...@@ -984,10 +1013,10 @@ void pscch_decoding(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,int frame_rx,int subfra ...@@ -984,10 +1013,10 @@ void pscch_decoding(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,int frame_rx,int subfra
// printf("Running ulsch_qpsk_llr for symbol %d\n",l2); // printf("Running ulsch_qpsk_llr for symbol %d\n",l2);
ulsch_qpsk_llr(&ue->frame_parms, ulsch_qpsk_llr(&ue->frame_parms,
(int32_t**)rxdataF_comp, (int32_t**)rxdataF_comp,
(int32_t *)llr, llr,
l2, l2,
1, 1,
(int32_t *)&llrp); &llrp);
} }
/* /*
write_output("slcch_llr.m","slcchllr",llr, write_output("slcch_llr.m","slcchllr",llr,
...@@ -1047,7 +1076,7 @@ void pscch_decoding(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,int frame_rx,int subfra ...@@ -1047,7 +1076,7 @@ void pscch_decoding(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,int frame_rx,int subfra
slsch->resource_block_coding = (sci_rx_flip>>(63-1-RAbits+1))&((1<<RAbits)-1); slsch->resource_block_coding = (sci_rx_flip>>(63-1-RAbits+1))&((1<<RAbits)-1);
RIV2_alloc(slsch->N_SL_RB_data, RIV2_alloc(slsch->N_SL_RB_data,
slsch->resource_block_coding, slsch->resource_block_coding,
&slsch->L_CRBs,&slsch->RB_start); (int *)&slsch->L_CRBs,(int *)&slsch->RB_start);
slsch->time_resource_pattern = (sci_rx_flip>>(63-1-7-RAbits+1))&127; slsch->time_resource_pattern = (sci_rx_flip>>(63-1-7-RAbits+1))&127;
slsch->mcs = (sci_rx_flip>>(63-1-7-5-RAbits+1))&31; slsch->mcs = (sci_rx_flip>>(63-1-7-5-RAbits+1))&31;
slsch->timing_advance_indication = (sci_rx_flip>>(63-1-7-5-11-RAbits+1))&2047; slsch->timing_advance_indication = (sci_rx_flip>>(63-1-7-5-11-RAbits+1))&2047;
...@@ -1177,10 +1206,10 @@ void slsch_decoding(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,int frame_rx,int subfra ...@@ -1177,10 +1206,10 @@ void slsch_decoding(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,int frame_rx,int subfra
int Nsymb = 7; int Nsymb = 7;
SLSCH_t *slsch = &ue->slsch_rx; SLSCH_t *slsch = &ue->slsch_rx;
int16_t **rxdataF_ext = ue->pusch_slsch->rxdataF_ext; int16_t **rxdataF_ext = (int16_t**)ue->pusch_slsch->rxdataF_ext;
int16_t **drs_ch_estimates = ue->pusch_slsch->drs_ch_estimates; int16_t **drs_ch_estimates = (int16_t**)ue->pusch_slsch->drs_ch_estimates;
int16_t **rxdataF_comp = ue->pusch_slsch->rxdataF_comp; int16_t **rxdataF_comp = (int16_t**)ue->pusch_slsch->rxdataF_comp;
int16_t **ul_ch_mag = ue->pusch_slsch->ul_ch_mag; int16_t **ul_ch_mag = (int16_t**)ue->pusch_slsch->ul_ch_mag;
int16_t **rxdata_7_5kHz = ue->sl_rxdata_7_5kHz[ue->current_thread_id[subframe_rx]]; int16_t **rxdata_7_5kHz = ue->sl_rxdata_7_5kHz[ue->current_thread_id[subframe_rx]];
int16_t **rxdataF = ue->sl_rxdataF[ue->current_thread_id[subframe_rx]]; int16_t **rxdataF = ue->sl_rxdataF[ue->current_thread_id[subframe_rx]];
int32_t avgs; int32_t avgs;
...@@ -1243,7 +1272,7 @@ void slsch_decoding(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,int frame_rx,int subfra ...@@ -1243,7 +1272,7 @@ void slsch_decoding(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,int frame_rx,int subfra
write_output("slsch_rxF_ext.m","slschrxF_ext",rxdataF_ext[0],14*12*ue->frame_parms.N_RB_DL,1,1); write_output("slsch_rxF_ext.m","slschrxF_ext",rxdataF_ext[0],14*12*ue->frame_parms.N_RB_DL,1,1);
#endif #endif
AssertFatal(slsch->group_destination_id < 256,"Illegal group_destination_id %d\n",ue>slsch->group_destination_id); AssertFatal(slsch->group_destination_id < 256,"Illegal group_destination_id %d\n",ue->slsch->group_destination_id);
uint32_t u = ue->gh[1+slsch->group_destination_id][ljmod10<<1]; uint32_t u = ue->gh[1+slsch->group_destination_id][ljmod10<<1];
uint32_t v = 0; uint32_t v = 0;
...@@ -1280,7 +1309,7 @@ void slsch_decoding(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,int frame_rx,int subfra ...@@ -1280,7 +1309,7 @@ void slsch_decoding(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,int frame_rx,int subfra
0, // interpolation 0, // interpolation
0); 0);
ulsch_channel_level(drs_ch_estimates, ulsch_channel_level((int32_t**)drs_ch_estimates,
&ue->frame_parms, &ue->frame_parms,
avgU, avgU,
slsch->L_CRBs); slsch->L_CRBs);
...@@ -1307,11 +1336,11 @@ void slsch_decoding(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,int frame_rx,int subfra ...@@ -1307,11 +1336,11 @@ void slsch_decoding(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,int frame_rx,int subfra
} }
ulsch_channel_compensation( ulsch_channel_compensation(
rxdataF_ext, (int32_t**)rxdataF_ext,
drs_ch_estimates, (int32_t**)drs_ch_estimates,
ul_ch_mag, (int32_t**)ul_ch_mag,
NULL, NULL,
rxdataF_comp, (int32_t**)rxdataF_comp,
&ue->frame_parms, &ue->frame_parms,
l, l,
Qm, Qm,
...@@ -1320,15 +1349,15 @@ void slsch_decoding(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,int frame_rx,int subfra ...@@ -1320,15 +1349,15 @@ void slsch_decoding(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,int frame_rx,int subfra
if (ue->frame_parms.nb_antennas_rx > 1) if (ue->frame_parms.nb_antennas_rx > 1)
ulsch_detection_mrc(&ue->frame_parms, ulsch_detection_mrc(&ue->frame_parms,
rxdataF_comp, (int32_t**)rxdataF_comp,
ul_ch_mag, (int32_t**)ul_ch_mag,
NULL, NULL,
l, l,
slsch->L_CRBs); slsch->L_CRBs);
freq_equalization(&ue->frame_parms, freq_equalization(&ue->frame_parms,
rxdataF_comp, (int32_t**)rxdataF_comp,
ul_ch_mag, (int32_t**)ul_ch_mag,
NULL, NULL,
l, l,
slsch->L_CRBs*12, slsch->L_CRBs*12,
...@@ -1336,7 +1365,7 @@ void slsch_decoding(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,int frame_rx,int subfra ...@@ -1336,7 +1365,7 @@ void slsch_decoding(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,int frame_rx,int subfra
} }
lte_idft(&ue->frame_parms, lte_idft(&ue->frame_parms,
rxdataF_comp[0], (uint32_t*)rxdataF_comp[0],
slsch->L_CRBs*12); slsch->L_CRBs*12);
#ifdef PSSCH_DEBUG #ifdef PSSCH_DEBUG
...@@ -1357,18 +1386,18 @@ void slsch_decoding(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,int frame_rx,int subfra ...@@ -1357,18 +1386,18 @@ void slsch_decoding(PHY_VARS_UE *ue,UE_rxtx_proc_t *proc,int frame_rx,int subfra
switch (Qm) { switch (Qm) {
case 2 : case 2 :
ulsch_qpsk_llr(&ue->frame_parms, ulsch_qpsk_llr(&ue->frame_parms,
rxdataF_comp, (int32_t**)rxdataF_comp,
(int32_t *)ue->slsch_ulsch_llr, (int16_t*)ue->slsch_ulsch_llr,
l, l,
slsch->L_CRBs, slsch->L_CRBs,
(int32_t *)&llrp); &llrp);
break; break;
case 4 : case 4 :
ulsch_16qam_llr(&ue->frame_parms, ulsch_16qam_llr(&ue->frame_parms,
rxdataF_comp, (int32_t**)rxdataF_comp,
(int32_t *)ue->slsch_ulsch_llr, (int16_t*)ue->slsch_ulsch_llr,
(int32_t *)ul_ch_mag, (int32_t**)ul_ch_mag,
l,slsch->L_CRBs, l,slsch->L_CRBs,
&llrp); &llrp);
break; break;
......
...@@ -32,7 +32,8 @@ ...@@ -32,7 +32,8 @@
#ifndef __LTE_TRANSPORT_SLSS__C__ #ifndef __LTE_TRANSPORT_SLSS__C__
#define __LTE_TRANSPORT_SLSS__C__ #define __LTE_TRANSPORT_SLSS__C__
#include "PHY/defs_UE.h" #include "PHY/defs_UE.h"
#include "SCHED_UE/sched_UE.h"
#include "PHY/LTE_UE_TRANSPORT/transport_proto_ue.h"
void check_and_generate_slss(PHY_VARS_UE *ue,int frame_tx,int subframe_tx) { void check_and_generate_slss(PHY_VARS_UE *ue,int frame_tx,int subframe_tx) {
......
...@@ -1369,6 +1369,7 @@ int32_t generate_drs_pusch(PHY_VARS_UE *phy_vars_ue, ...@@ -1369,6 +1369,7 @@ int32_t generate_drs_pusch(PHY_VARS_UE *phy_vars_ue,
@param frame_parms Pointer to a LTE_DL_FRAME_PARMS structure (eNB or UE)*/ @param frame_parms Pointer to a LTE_DL_FRAME_PARMS structure (eNB or UE)*/
void init_ul_hopping(LTE_DL_FRAME_PARMS *frame_parms); void init_ul_hopping(LTE_DL_FRAME_PARMS *frame_parms);
void generate_sl_grouphop(PHY_VARS_UE *ue);
/*! /*!
\brief This function implements the initialization of paging parameters for UE (See Section 7, 36.304).It must be called after setting IMSImod1024 during UE startup and after receiving SIB2 \brief This function implements the initialization of paging parameters for UE (See Section 7, 36.304).It must be called after setting IMSImod1024 during UE startup and after receiving SIB2
...@@ -1842,5 +1843,6 @@ int generate_slbch(int32_t **txdataF, ...@@ -1842,5 +1843,6 @@ int generate_slbch(int32_t **txdataF,
int rx_psbch(PHY_VARS_UE *ue,int frame_rx,int subframe_rx); int rx_psbch(PHY_VARS_UE *ue,int frame_rx,int subframe_rx);
/**@}*/ /**@}*/
#endif #endif
...@@ -658,7 +658,7 @@ rrc_mac_config_req_ue(module_id_t Mod_idP, ...@@ -658,7 +658,7 @@ rrc_mac_config_req_ue(module_id_t Mod_idP,
} }
} }
} else if ((logicalChannelIdentity >= MAX_NUM_LCID_DATA) && (logicalChannelIdentity < MAX_NUM_LCID)) { } else if ((logicalChannelIdentity >= MAX_NUM_LCID_DATA) && (logicalChannelIdentity < MAX_NUM_LCID)) {
LOG_I(MAC,"[UE %d] Configure LCID %d for PC5S\n", Mod_idP, logicalChannelIdentity ); LOG_I(MAC,"[UE %d] Configure LCID %d for PC5S\n", Mod_idP, (int)logicalChannelIdentity );
j = 0; j = 0;
k = 0; k = 0;
for (k = MAX_NUM_LCID_DATA; k < MAX_NUM_LCID; k++) { for (k = MAX_NUM_LCID_DATA; k < MAX_NUM_LCID; k++) {
...@@ -689,7 +689,7 @@ rrc_mac_config_req_ue(module_id_t Mod_idP, ...@@ -689,7 +689,7 @@ rrc_mac_config_req_ue(module_id_t Mod_idP,
case CONFIG_ACTION_REMOVE: case CONFIG_ACTION_REMOVE:
// OK for the moment since LCID is unique per flow // OK for the moment since LCID is unique per flow
if ((logicalChannelIdentity > 0) && (logicalChannelIdentity < MAX_NUM_LCID_DATA)) { if ((logicalChannelIdentity > 0) && (logicalChannelIdentity < MAX_NUM_LCID_DATA)) {
LOG_I(MAC,"[UE %d] Remove (logicalChannelIdentity %d)\n", Mod_idP, logicalChannelIdentity ); LOG_I(MAC,"[UE %d] Remove (logicalChannelIdentity %d)\n", Mod_idP, (int)logicalChannelIdentity );
k = 0; k = 0;
for (k = 0; k < MAX_NUM_LCID_DATA; k++) { for (k = 0; k < MAX_NUM_LCID_DATA; k++) {
if (UE_mac_inst[Mod_idP].sl_info[k].LCID == logicalChannelIdentity) { if (UE_mac_inst[Mod_idP].sl_info[k].LCID == logicalChannelIdentity) {
...@@ -706,7 +706,7 @@ rrc_mac_config_req_ue(module_id_t Mod_idP, ...@@ -706,7 +706,7 @@ rrc_mac_config_req_ue(module_id_t Mod_idP,
} }
} else if ((logicalChannelIdentity >= MAX_NUM_LCID_DATA) && (logicalChannelIdentity < MAX_NUM_LCID)) { } else if ((logicalChannelIdentity >= MAX_NUM_LCID_DATA) && (logicalChannelIdentity < MAX_NUM_LCID)) {
//remove RBID for PCS5 //remove RBID for PCS5
LOG_I(MAC,"[UE %d] Remove (logicalChannelIdentity %d)\n", Mod_idP, logicalChannelIdentity ); LOG_I(MAC,"[UE %d] Remove (logicalChannelIdentity %d)\n", Mod_idP, (int)logicalChannelIdentity );
k = 0; k = 0;
for (k = MAX_NUM_LCID_DATA; k < MAX_NUM_LCID; k++) { for (k = MAX_NUM_LCID_DATA; k < MAX_NUM_LCID; k++) {
if (UE_mac_inst[Mod_idP].sl_info[k].LCID == logicalChannelIdentity) { if (UE_mac_inst[Mod_idP].sl_info[k].LCID == logicalChannelIdentity) {
......
...@@ -61,12 +61,12 @@ extern eNB_DLSCH_INFO eNB_dlsch_info[NUMBER_OF_eNB_MAX][MAX_NUM_CCs][MAX_MOBILES ...@@ -61,12 +61,12 @@ extern eNB_DLSCH_INFO eNB_dlsch_info[NUMBER_OF_eNB_MAX][MAX_NUM_CCs][MAX_MOBILES
#ifndef PHYSIM #ifndef PHYSIM
#define NB_INST 1 #define NB_INST 1
#else #else
extern unsigned char NB_INST; extern int NB_INST;
#endif #endif
extern unsigned char NB_eNB_INST; extern int NB_eNB_INST;
extern uint16_t NB_UE_INST; extern int NB_UE_INST;
extern uint16_t NB_THREAD_INST; extern int NB_THREAD_INST;
extern unsigned char NB_RN_INST; extern int NB_RN_INST;
extern unsigned short NODE_ID[1]; extern unsigned short NODE_ID[1];
......
...@@ -108,11 +108,11 @@ eNB_DLSCH_INFO eNB_dlsch_info[NUMBER_OF_eNB_MAX][MAX_NUM_CCs][MAX_MOBILES_PER_EN ...@@ -108,11 +108,11 @@ eNB_DLSCH_INFO eNB_dlsch_info[NUMBER_OF_eNB_MAX][MAX_NUM_CCs][MAX_MOBILES_PER_EN
#ifdef OPENAIR2 #ifdef OPENAIR2
unsigned char NB_eNB_INST = 0; int NB_eNB_INST = 0;
uint16_t NB_UE_INST = 0; int NB_UE_INST = 0;
uint16_t NB_THREAD_INST = 0; int NB_THREAD_INST = 0;
unsigned char NB_RN_INST = 0; int NB_RN_INST = 0;
unsigned char NB_INST = 0; int NB_INST = 0;
#endif #endif
......
...@@ -42,7 +42,7 @@ ...@@ -42,7 +42,7 @@
#include "COMMON/mac_rrc_primitives.h" #include "COMMON/mac_rrc_primitives.h"
#include "PHY/INIT/phy_init.h" #include "PHY/INIT/phy_init.h"
#include "PHY/LTE_ESTIMATION/lte_estimation.h" #include "PHY/LTE_ESTIMATION/lte_estimation.h"
#include "PHY/LTE_TRANSPORT/transport_common_proto.h"
#include "RRC/L2_INTERFACE/openair_rrc_L2_interface.h" #include "RRC/L2_INTERFACE/openair_rrc_L2_interface.h"
#include "RRC/LTE/rrc_extern.h" #include "RRC/LTE/rrc_extern.h"
#include "common/utils/LOG/log.h" #include "common/utils/LOG/log.h"
...@@ -889,8 +889,8 @@ void ue_send_sl_sdu(module_id_t module_idP, ...@@ -889,8 +889,8 @@ void ue_send_sl_sdu(module_id_t module_idP,
) { ) {
int rlc_sdu_len; int rlc_sdu_len;
char *rlc_sdu; unsigned char *rlc_sdu;
int lcid; int lcid=-1;
uint32_t destinationL2Id =0x00000000; uint32_t destinationL2Id =0x00000000;
uint32_t sourceL2Id = 0x00000000; uint32_t sourceL2Id = 0x00000000;
...@@ -1004,7 +1004,8 @@ void ue_send_sl_sdu(module_id_t module_idP, ...@@ -1004,7 +1004,8 @@ void ue_send_sl_sdu(module_id_t module_idP,
} else { } else {
LOG_D(MAC, "SL_RESET_RLC_FLAG_NO\n"); LOG_D(MAC, "SL_RESET_RLC_FLAG_NO\n");
} }
AssertFatal(lcid>0,"lcid %d should not happen\n",lcid);
LOG_I(MAC,"%d.%d myL2Id %d sending sdu of size %d, sourceL2Id %d, lcid %d to RLC\n",frameP,subframeP,UE_mac_inst[module_idP].sourceL2Id,rlc_sdu_len,sourceL2Id,lcid); LOG_I(MAC,"%d.%d myL2Id %d sending sdu of size %d, sourceL2Id %d, lcid %d to RLC\n",frameP,subframeP,UE_mac_inst[module_idP].sourceL2Id,rlc_sdu_len,sourceL2Id,lcid);
if(UE_rrc_inst[0].Info[0].rnti == 0){ if(UE_rrc_inst[0].Info[0].rnti == 0){
...@@ -1016,7 +1017,7 @@ void ue_send_sl_sdu(module_id_t module_idP, ...@@ -1016,7 +1017,7 @@ void ue_send_sl_sdu(module_id_t module_idP,
ENB_FLAG_NO, ENB_FLAG_NO,
MBMS_FLAG_NO, MBMS_FLAG_NO,
lcid, //3/10 lcid, //3/10
rlc_sdu, (char*)rlc_sdu,
rlc_sdu_len, rlc_sdu_len,
1, 1,
NULL NULL
...@@ -1034,7 +1035,7 @@ void ue_send_sl_sdu(module_id_t module_idP, ...@@ -1034,7 +1035,7 @@ void ue_send_sl_sdu(module_id_t module_idP,
ENB_FLAG_NO, ENB_FLAG_NO,
MBMS_FLAG_NO, MBMS_FLAG_NO,
lcid, //3/10 lcid, //3/10
rlc_sdu, (char*)rlc_sdu,
rlc_sdu_len, rlc_sdu_len,
1, 1,
NULL NULL
...@@ -3527,7 +3528,6 @@ int get_db_dl_PathlossChange(uint8_t dl_PathlossChange) ...@@ -3527,7 +3528,6 @@ int get_db_dl_PathlossChange(uint8_t dl_PathlossChange)
SLSS_t *ue_get_slss(module_id_t Mod_id,int CC_id,frame_t frame_tx,sub_frame_t subframe_tx) { SLSS_t *ue_get_slss(module_id_t Mod_id,int CC_id,frame_t frame_tx,sub_frame_t subframe_tx) {
UE_MAC_INST *ue = &UE_mac_inst[Mod_id];
SLSS_t *slss = &UE_mac_inst[Mod_id].slss; SLSS_t *slss = &UE_mac_inst[Mod_id].slss;
...@@ -3575,7 +3575,7 @@ extern const int trp8[TRP8_MAX+1][8]; ...@@ -3575,7 +3575,7 @@ extern const int trp8[TRP8_MAX+1][8];
SLSCH_t *ue_get_slsch(module_id_t module_idP,int CC_id,frame_t frameP,sub_frame_t subframeP,int slsch_test) { SLSCH_t *ue_get_slsch(module_id_t module_idP,int CC_id,frame_t frameP,sub_frame_t subframeP,int slsch_test) {
mac_rlc_status_resp_t rlc_status, rlc_status_data; mac_rlc_status_resp_t rlc_status;
uint32_t absSF = (frameP*10)+subframeP; uint32_t absSF = (frameP*10)+subframeP;
UE_MAC_INST *ue = &UE_mac_inst[module_idP]; UE_MAC_INST *ue = &UE_mac_inst[module_idP];
int sdu_length; int sdu_length;
...@@ -3624,7 +3624,7 @@ SLSCH_t *ue_get_slsch(module_id_t module_idP,int CC_id,frame_t frameP,sub_frame_ ...@@ -3624,7 +3624,7 @@ SLSCH_t *ue_get_slsch(module_id_t module_idP,int CC_id,frame_t frameP,sub_frame_
if ((ue->sourceL2Id > 0) && (ue->sl_info[i].groupL2Id >0) ){ if ((ue->sourceL2Id > 0) && (ue->sl_info[i].groupL2Id >0) ){
rlc_status = mac_rlc_status_ind(module_idP, 0x1234,0,frameP,subframeP,ENB_FLAG_NO,MBMS_FLAG_NO, rlc_status = mac_rlc_status_ind(module_idP, 0x1234,0,frameP,subframeP,ENB_FLAG_NO,MBMS_FLAG_NO,
ue->sl_info[i].LCID, 0xFFFF, ue->sourceL2Id, ue->sl_info[i].groupL2Id); ue->sl_info[i].LCID, 0xFFFF, ue->sourceL2Id, ue->sl_info[i].groupL2Id);
LOG_D(MAC,"Checking status (%d,Group %d) => LCID %d => %d bytes\n",ue->sourceL2Id,ue->sl_info[i].destinationL2Id); LOG_D(MAC,"Checking status (%d,Group %d) => LCID %d => %d bytes\n",ue->sourceL2Id,ue->sl_info[i].destinationL2Id,ue->sl_info[i].LCID, rlc_status.bytes_in_buffer);
if (rlc_status.bytes_in_buffer > 2 || slsch_test == 1){ if (rlc_status.bytes_in_buffer > 2 || slsch_test == 1){
if (slsch_test == 1 && rlc_status.bytes_in_buffer <= 2) rlc_status.bytes_in_buffer = 300; if (slsch_test == 1 && rlc_status.bytes_in_buffer <= 2) rlc_status.bytes_in_buffer = 300;
......
...@@ -61,7 +61,6 @@ rlc_op_status_t rrc_rlc_config_asn1_req (const protocol_ctxt_t * const ctxt_pP ...@@ -61,7 +61,6 @@ rlc_op_status_t rrc_rlc_config_asn1_req (const protocol_ctxt_t * const ctxt_pP
rb_id_t rb_id = 0; rb_id_t rb_id = 0;
logical_chan_id_t lc_id = 0; logical_chan_id_t lc_id = 0;
LTE_DRB_Identity_t drb_id = 0; LTE_DRB_Identity_t drb_id = 0;
LTE_DRB_Identity_t* pdrb_id = NULL;
long int cnt = 0; long int cnt = 0;
const LTE_SRB_ToAddMod_t *srb_toaddmod_p = NULL; const LTE_SRB_ToAddMod_t *srb_toaddmod_p = NULL;
const LTE_DRB_ToAddMod_t *drb_toaddmod_p = NULL; const LTE_DRB_ToAddMod_t *drb_toaddmod_p = NULL;
...@@ -397,8 +396,8 @@ rlc_op_status_t rrc_rlc_config_asn1_req (const protocol_ctxt_t * const ctxt_pP ...@@ -397,8 +396,8 @@ rlc_op_status_t rrc_rlc_config_asn1_req (const protocol_ctxt_t * const ctxt_pP
if (drb2release_listP != NULL) { if (drb2release_listP != NULL) {
for (cnt=0; cnt<drb2release_listP->list.count; cnt++) { for (cnt=0; cnt<drb2release_listP->list.count; cnt++) {
drb_id = drb2release_listP->list.array[cnt]; drb_id = *drb2release_listP->list.array[cnt];
LOG_I(RLC, "Releasing rb_id %d\n",drb_id); LOG_I(RLC, "Releasing rb_id %d\n",(int)drb_id);
rrc_rlc_remove_rlc( rrc_rlc_remove_rlc(
ctxt_pP, ctxt_pP,
......
...@@ -55,4 +55,4 @@ void clear_nfapi_information(eNB_MAC_INST * eNB, int CC_idP, ...@@ -55,4 +55,4 @@ void clear_nfapi_information(eNB_MAC_INST * eNB, int CC_idP,
void eNB_dlsch_ulsch_scheduler(module_id_t module_idP, frame_t frameP, sub_frame_t subframeP) {;} void eNB_dlsch_ulsch_scheduler(module_id_t module_idP, frame_t frameP, sub_frame_t subframeP) {;}
int is_UL_sf(COMMON_channels_t * ccP, sub_frame_t subframeP) {;} int is_UL_sf(COMMON_channels_t * ccP, sub_frame_t subframeP) {return(0);}
...@@ -64,7 +64,6 @@ mac_rrc_data_req_ue( ...@@ -64,7 +64,6 @@ mac_rrc_data_req_ue(
PROTOCOL_CTXT_SET_BY_MODULE_ID(&ctxt, Mod_idP, 0, 0, frameP/10, frameP%10,eNB_indexP); PROTOCOL_CTXT_SET_BY_MODULE_ID(&ctxt, Mod_idP, 0, 0, frameP/10, frameP%10,eNB_indexP);
#ifdef DEBUG_RRC #ifdef DEBUG_RRC
int i;
LOG_D(RRC,"[eNB %d] mac_rrc_data_req to SRB ID=%d\n",Mod_idP,Srb_idP); LOG_D(RRC,"[eNB %d] mac_rrc_data_req to SRB ID=%d\n",Mod_idP,Srb_idP);
#endif #endif
...@@ -301,8 +300,8 @@ mac_rrc_data_ind_ue( ...@@ -301,8 +300,8 @@ mac_rrc_data_ind_ue(
#ifdef Rel14 #ifdef Rel14
if (srb_idP == MIBSLCH) { if (srb_idP == MIBSLCH) {
LOG_D(RRC,"[UE %d] Received SDU for MIBSL\n"); LOG_D(RRC,"[UE %d] Received SDU for MIBSL\n",module_idP);
if (decode_MIB_SL(&ctxt,sduP,5)>=0) LOG_D(RRC,"Received MIB_SL: %x.%x.%x.%x.%x\n",sduP[0],sduP[1],sduP[2],sduP[3],sduP[4]); if (decode_MIB_SL(&ctxt,(uint8_t* const) sduP,5)>=0) LOG_D(RRC,"Received MIB_SL: %x.%x.%x.%x.%x\n",sduP[0],sduP[1],sduP[2],sduP[3],sduP[4]);
else LOG_E(RRC,"Received bogus MIB_SL\n"); else LOG_E(RRC,"Received bogus MIB_SL\n");
} }
......
...@@ -262,7 +262,7 @@ uint8_t do_MIB_SL(const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index, ...@@ -262,7 +262,7 @@ uint8_t do_MIB_SL(const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index,
if (in_coverage > 0 ){ if (in_coverage > 0 ){
//in coverage //in coverage
sl_mib->inCoverage_r12 = TRUE; sl_mib->inCoverage_r12 = TRUE;
sl_mib->sl_Bandwidth_r12 = UE->sib2[eNB_index]->freqInfo.ul_Bandwidth; sl_mib->sl_Bandwidth_r12 = *UE->sib2[eNB_index]->freqInfo.ul_Bandwidth;
if (UE->sib1[eNB_index]->tdd_Config) { if (UE->sib1[eNB_index]->tdd_Config) {
sl_mib->tdd_ConfigSL_r12.subframeAssignmentSL_r12 = UE->sib1[eNB_index]->tdd_Config->subframeAssignment; sl_mib->tdd_ConfigSL_r12.subframeAssignmentSL_r12 = UE->sib1[eNB_index]->tdd_Config->subframeAssignment;
} else { } else {
...@@ -284,7 +284,7 @@ uint8_t do_MIB_SL(const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index, ...@@ -284,7 +284,7 @@ uint8_t do_MIB_SL(const protocol_ctxt_t* const ctxt_pP, const uint8_t eNB_index,
sl_mib->sl_Bandwidth_r12 = UE->SL_Preconfiguration[eNB_index]->preconfigGeneral_r12.sl_bandwidth_r12; sl_mib->sl_Bandwidth_r12 = UE->SL_Preconfiguration[eNB_index]->preconfigGeneral_r12.sl_bandwidth_r12;
sl_mib->tdd_ConfigSL_r12.subframeAssignmentSL_r12 = UE->SL_Preconfiguration[eNB_index]->preconfigGeneral_r12.tdd_ConfigSL_r12.subframeAssignmentSL_r12; sl_mib->tdd_ConfigSL_r12.subframeAssignmentSL_r12 = UE->SL_Preconfiguration[eNB_index]->preconfigGeneral_r12.tdd_ConfigSL_r12.subframeAssignmentSL_r12;
//set sl-Bandwidth, subframeAssignmentSL and reserved from the pre-configured parameters //set sl-Bandwidth, subframeAssignmentSL and reserved from the pre-configured parameters
sl_mib->reserved_r12.buf = &reserved; sl_mib->reserved_r12.buf = (uint8_t*)&reserved;
sl_mib->reserved_r12.size = 3; sl_mib->reserved_r12.size = 3;
sl_mib->reserved_r12.bits_unused = 5; sl_mib->reserved_r12.bits_unused = 5;
} }
......
...@@ -5254,7 +5254,7 @@ openair_rrc_top_init_ue( ...@@ -5254,7 +5254,7 @@ openair_rrc_top_init_ue(
CC_id, CC_id,
0, 0,
(LTE_RadioResourceConfigCommonSIB_t *)NULL, (LTE_RadioResourceConfigCommonSIB_t *)NULL,
(struct PhysicalConfigDedicated *)NULL, (struct LTE_PhysicalConfigDedicated *)NULL,
#if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0)) #if (LTE_RRC_VERSION >= MAKE_VERSION(10, 0, 0))
(LTE_SCellToAddMod_r10_t *)NULL, (LTE_SCellToAddMod_r10_t *)NULL,
#endif #endif
...@@ -5270,7 +5270,7 @@ openair_rrc_top_init_ue( ...@@ -5270,7 +5270,7 @@ openair_rrc_top_init_ue(
(LTE_ARFCN_ValueEUTRA_t *)NULL, (LTE_ARFCN_ValueEUTRA_t *)NULL,
(long *)NULL, (long *)NULL,
(LTE_AdditionalSpectrumEmission_t *)NULL, (LTE_AdditionalSpectrumEmission_t *)NULL,
(struct MBSFN_SubframeConfigList*)NULL (struct LTE_MBSFN_SubframeConfigList*)NULL
#if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0)) #if (LTE_RRC_VERSION >= MAKE_VERSION(9, 0, 0))
, 0, , 0,
(LTE_MBSFN_AreaInfoList_r9_t *)NULL, (LTE_MBSFN_AreaInfoList_r9_t *)NULL,
...@@ -5817,7 +5817,7 @@ void *rrc_control_socket_thread_fct(void *arg) ...@@ -5817,7 +5817,7 @@ void *rrc_control_socket_thread_fct(void *arg)
//configure MAC with sourceL2Id/groupL2ID //configure MAC with sourceL2Id/groupL2ID
LOG_I(PHY,"Configuration MAC for sourceL2Id/GroupL2ID, %d/%d, UE->DRB_config[0][0]->drb_Identity: %d, group_comm_rbid: %d \n",sourceL2Id,groupL2Id,UE->DRB_config[0][0]->drb_Identity, group_comm_rbid); LOG_I(PHY,"Configuration MAC for sourceL2Id/GroupL2ID, %d/%d, UE->DRB_config[0][0]->drb_Identity: %d, group_comm_rbid: %d \n",sourceL2Id,groupL2Id,(int)UE->DRB_config[0][0]->drb_Identity, group_comm_rbid);
rrc_mac_config_req_ue(module_id,0,0, //eNB_index =0 rrc_mac_config_req_ue(module_id,0,0, //eNB_index =0
(LTE_RadioResourceConfigCommonSIB_t *)NULL, (LTE_RadioResourceConfigCommonSIB_t *)NULL,
(struct LTE_PhysicalConfigDedicated *)NULL, (struct LTE_PhysicalConfigDedicated *)NULL,
...@@ -6230,7 +6230,7 @@ void *rrc_control_socket_thread_fct(void *arg) ...@@ -6230,7 +6230,7 @@ void *rrc_control_socket_thread_fct(void *arg)
rrc_mac_config_req_ue(module_id,0,0, //eNB_index =0 rrc_mac_config_req_ue(module_id,0,0, //eNB_index =0
(LTE_RadioResourceConfigCommonSIB_t *)NULL, (LTE_RadioResourceConfigCommonSIB_t *)NULL,
(struct PhysicalConfigDedicated *)NULL, (struct LTE_PhysicalConfigDedicated *)NULL,
#if defined(Rel10) || defined(Rel14) #if defined(Rel10) || defined(Rel14)
(LTE_SCellToAddMod_r10_t *)NULL, (LTE_SCellToAddMod_r10_t *)NULL,
//struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10, //struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10,
...@@ -6238,7 +6238,7 @@ void *rrc_control_socket_thread_fct(void *arg) ...@@ -6238,7 +6238,7 @@ void *rrc_control_socket_thread_fct(void *arg)
(LTE_MeasObjectToAddMod_t **)NULL, (LTE_MeasObjectToAddMod_t **)NULL,
(LTE_MAC_MainConfig_t *)NULL, (LTE_MAC_MainConfig_t *)NULL,
slrb_id, slrb_id,
(struct LogicalChannelConfig *)NULL, (struct LTE_LogicalChannelConfig *)NULL,
(LTE_MeasGapConfig_t *)NULL, (LTE_MeasGapConfig_t *)NULL,
(LTE_TDD_Config_t *)NULL, (LTE_TDD_Config_t *)NULL,
(LTE_MobilityControlInfo_t *)NULL, (LTE_MobilityControlInfo_t *)NULL,
...@@ -6605,7 +6605,7 @@ void *rrc_control_socket_thread_fct(void *arg) ...@@ -6605,7 +6605,7 @@ void *rrc_control_socket_thread_fct(void *arg)
rrc_mac_config_req_ue(module_id,0,0, //eNB_index =0 rrc_mac_config_req_ue(module_id,0,0, //eNB_index =0
(LTE_RadioResourceConfigCommonSIB_t *)NULL, (LTE_RadioResourceConfigCommonSIB_t *)NULL,
(struct PhysicalConfigDedicated *)NULL, (struct LTE_PhysicalConfigDedicated *)NULL,
#if defined(Rel10) || defined(Rel14) #if defined(Rel10) || defined(Rel14)
(LTE_SCellToAddMod_r10_t *)NULL, (LTE_SCellToAddMod_r10_t *)NULL,
//struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10, //struct PhysicalConfigDedicatedSCell_r10 *physicalConfigDedicatedSCell_r10,
......
...@@ -661,4 +661,8 @@ void remove_UE_from_freelist(module_id_t mod_id, rnti_t rnti); ...@@ -661,4 +661,8 @@ void remove_UE_from_freelist(module_id_t mod_id, rnti_t rnti);
void put_UE_in_freelist(module_id_t mod_id, rnti_t rnti, boolean_t removeFlag); void put_UE_in_freelist(module_id_t mod_id, rnti_t rnti, boolean_t removeFlag);
void release_UE_in_freeList(module_id_t mod_id); void release_UE_in_freeList(module_id_t mod_id);
int decode_MIB_SL( const protocol_ctxt_t* const ctxt_pP,
uint8_t* const Sdu,
const uint8_t Sdu_len);
/** @}*/ /** @}*/
...@@ -1269,8 +1269,6 @@ void wakeup_L1s(RU_t *ru) { ...@@ -1269,8 +1269,6 @@ void wakeup_L1s(RU_t *ru) {
LOG_D(PHY,"wakeup_L1s (num %d) for RU %d ru->eNB_top:%p\n",ru->num_eNB,ru->idx, ru->eNB_top); LOG_D(PHY,"wakeup_L1s (num %d) for RU %d ru->eNB_top:%p\n",ru->num_eNB,ru->idx, ru->eNB_top);
printf("wakeup_eNBs (num %d), ru->eNB_top:%p, nb. of processors: %d \n",ru->num_eNB,ru->idx, ru->eNB_top, get_nprocs());
if (ru->num_eNB==1 && ru->eNB_top!=0 && get_thread_parallel_conf() == PARALLEL_SINGLE_THREAD) { if (ru->num_eNB==1 && ru->eNB_top!=0 && get_thread_parallel_conf() == PARALLEL_SINGLE_THREAD) {
// call eNB function directly // call eNB function directly
......
...@@ -148,7 +148,7 @@ ...@@ -148,7 +148,7 @@
#define CMDLINE_UEPARAMS_DESC { \ #define CMDLINE_UEPARAMS_DESC { \
{"siml1", CONFIG_HLP_SIML1, PARAMFLAG_BOOL, iptr:&simL1flag, defintval:0, TYPE_INT, 0}, \ {"siml1", CONFIG_HLP_SIML1, PARAMFLAG_BOOL, iptr:&simL1flag, defintval:0, TYPE_INT, 0}, \
{"U", CONFIG_HLP_NUMUE, 0, u8ptr:&NB_UE_INST, defuintval:1, TYPE_UINT, 0}, \ {"U", CONFIG_HLP_NUMUE, 0, u8ptr:(uint8_t*)&NB_UE_INST, defuintval:1, TYPE_UINT8, 0}, \
{"ue-rxgain", CONFIG_HLP_UERXG, 0, dblptr:&(rx_gain[0][0]), defdblval:130, TYPE_DOUBLE, 0}, \ {"ue-rxgain", CONFIG_HLP_UERXG, 0, dblptr:&(rx_gain[0][0]), defdblval:130, TYPE_DOUBLE, 0}, \
{"ue-rxgain-off", CONFIG_HLP_UERXGOFF, 0, dblptr:&rx_gain_off, defdblval:0, TYPE_DOUBLE, 0}, \ {"ue-rxgain-off", CONFIG_HLP_UERXGOFF, 0, dblptr:&rx_gain_off, defdblval:0, TYPE_DOUBLE, 0}, \
{"ue-txgain", CONFIG_HLP_UETXG, 0, dblptr:&(tx_gain[0][0]), defdblval:0, TYPE_DOUBLE, 0}, \ {"ue-txgain", CONFIG_HLP_UETXG, 0, dblptr:&(tx_gain[0][0]), defdblval:0, TYPE_DOUBLE, 0}, \
...@@ -156,7 +156,7 @@ ...@@ -156,7 +156,7 @@
{"ue-nb-ant-tx", CONFIG_HLP_UENANTT, 0, u8ptr:&nb_antenna_tx, defuintval:1, TYPE_UINT8, 0}, \ {"ue-nb-ant-tx", CONFIG_HLP_UENANTT, 0, u8ptr:&nb_antenna_tx, defuintval:1, TYPE_UINT8, 0}, \
{"ue-scan-carrier", CONFIG_HLP_UESCAN, PARAMFLAG_BOOL, iptr:&UE_scan_carrier, defintval:0, TYPE_INT, 0}, \ {"ue-scan-carrier", CONFIG_HLP_UESCAN, PARAMFLAG_BOOL, iptr:&UE_scan_carrier, defintval:0, TYPE_INT, 0}, \
{"ue-max-power", NULL, 0, iptr:&(tx_max_power[0]), defintval:23, TYPE_INT, 0}, \ {"ue-max-power", NULL, 0, iptr:&(tx_max_power[0]), defintval:23, TYPE_INT, 0}, \
{"emul-iface", CONFIG_HLP_EMULIFACE, 0, strptr:&emul_iface, defstrval:"lo", TYPE_STRING, 100}, \ {"emul-iface", CONFIG_HLP_EMULIFACE, 0, strptr:emul_iface, defstrval:"lo", TYPE_STRING, 100}, \
{"sim-L1", CONFIG_HLP_SIML1, 0, iptr:&simL1, defintval:0, TYPE_INT, 0}, \ {"sim-L1", CONFIG_HLP_SIML1, 0, iptr:&simL1, defintval:0, TYPE_INT, 0}, \
{"ue-enable-sl", CONFIG_HLP_ENABLESL, PARAMFLAG_BOOL, iptr:&sidelink_active, defintval:0, TYPE_INT, 0}, \ {"ue-enable-sl", CONFIG_HLP_ENABLESL, PARAMFLAG_BOOL, iptr:&sidelink_active, defintval:0, TYPE_INT, 0}, \
{"ue-sl-only", CONFIG_HLP_SLONLY, PARAMFLAG_BOOL, iptr:&SLonly, defintval:0, TYPE_INT, 0}, \ {"ue-sl-only", CONFIG_HLP_SLONLY, PARAMFLAG_BOOL, iptr:&SLonly, defintval:0, TYPE_INT, 0}, \
...@@ -164,8 +164,8 @@ ...@@ -164,8 +164,8 @@
{"ue-synchref", CONFIG_HLP_SYNCHREF, PARAMFLAG_BOOL, iptr:&synchRef, defintval:0, TYPE_INT, 0}, \ {"ue-synchref", CONFIG_HLP_SYNCHREF, PARAMFLAG_BOOL, iptr:&synchRef, defintval:0, TYPE_INT, 0}, \
{"ue-slsync-only", CONFIG_HLP_SLSYNCONLY, PARAMFLAG_BOOL, iptr:&slsynconly, defintval:0, TYPE_INT, 0}, \ {"ue-slsync-only", CONFIG_HLP_SLSYNCONLY, PARAMFLAG_BOOL, iptr:&slsynconly, defintval:0, TYPE_INT, 0}, \
{"L2-emul", NULL, 0, u8ptr:&nfapi_mode, defuintval:3, TYPE_UINT8, 0}, \ {"L2-emul", NULL, 0, u8ptr:&nfapi_mode, defuintval:3, TYPE_UINT8, 0}, \
{"D2D-emul", NULL, 0, u8ptr:&D2D_en, defuintval:0, TYPE_UINT8, 0}, \ {"D2D-emul", NULL, 0, u8ptr:&D2D_en, defuintval:0, TYPE_UINT8, 0}, \
{"num-ues", NULL, 0, u8ptr:&(NB_UE_INST), defuintval:1, TYPE_UINT8, 0}, \ {"num-ues", NULL, 0, u8ptr:(uint8_t*)NB_UE_INST, defuintval:1, TYPE_UINT8, 0}, \
{"nums_ue_thread", NULL, 0, u16ptr:&(NB_THREAD_INST), defuintval:1, TYPE_UINT16, 0}, \ {"nums_ue_thread", NULL, 0, u16ptr:&(NB_THREAD_INST), defuintval:1, TYPE_UINT16, 0}, \
{"r" , CONFIG_HLP_PRB, 0, u8ptr:&(frame_parms[0]->N_RB_DL), defintval:25, TYPE_UINT8, 0}, \ {"r" , CONFIG_HLP_PRB, 0, u8ptr:&(frame_parms[0]->N_RB_DL), defintval:25, TYPE_UINT8, 0}, \
{"dlsch-demod-shift", CONFIG_HLP_DLSHIFT, 0, iptr:(int32_t *)&dlsch_demod_shift, defintval:0, TYPE_INT, 0}, \ {"dlsch-demod-shift", CONFIG_HLP_DLSHIFT, 0, iptr:(int32_t *)&dlsch_demod_shift, defintval:0, TYPE_INT, 0}, \
......
...@@ -485,10 +485,10 @@ void init_UE_stub(int nb_inst,int eMBMS_active, int uecap_xer_in, char *emul_ifa ...@@ -485,10 +485,10 @@ void init_UE_stub(int nb_inst,int eMBMS_active, int uecap_xer_in, char *emul_ifa
printf("UE threads created \n"); printf("UE threads created \n");
LOG_I(PHY,"Starting multicast link on %s\n", &emul_iface); LOG_I(PHY,"Starting multicast link on %s\n", emul_iface);
//if(nfapi_mode !=3) //This has to change now. It should be active for the case of D2D On-net //if(nfapi_mode !=3) //This has to change now. It should be active for the case of D2D On-net
if(D2D_en) if(D2D_en)
multicast_link_start(ue_stub_rx_handler,0, &emul_iface); multicast_link_start(ue_stub_rx_handler,0, emul_iface);
} }
...@@ -806,7 +806,6 @@ static void *UE_thread_synchSL(void *arg) ...@@ -806,7 +806,6 @@ static void *UE_thread_synchSL(void *arg)
//sync_mode_t sync_mode = pbch; //sync_mode_t sync_mode = pbch;
int CC_id = UE->CC_id; int CC_id = UE->CC_id;
int ind; int ind;
int found;
int freq_offset=0; int freq_offset=0;
char threadname[128]; char threadname[128];
...@@ -823,7 +822,6 @@ static void *UE_thread_synchSL(void *arg) ...@@ -823,7 +822,6 @@ static void *UE_thread_synchSL(void *arg)
printf("starting UE synchSL thread (IC %d)\n",UE->proc.instance_cnt_synchSL); printf("starting UE synchSL thread (IC %d)\n",UE->proc.instance_cnt_synchSL);
ind = 0; ind = 0;
found = 0;
do { do {
current_band = eutra_bands[ind].band; current_band = eutra_bands[ind].band;
...@@ -834,7 +832,6 @@ static void *UE_thread_synchSL(void *arg) ...@@ -834,7 +832,6 @@ static void *UE_thread_synchSL(void *arg)
uplink_frequency_offset[CC_id][i] = eutra_bands[ind].ul_min - eutra_bands[ind].dl_min; uplink_frequency_offset[CC_id][i] = eutra_bands[ind].ul_min - eutra_bands[ind].dl_min;
UE->frame_parms.ul_CarrierFreq = UE->frame_parms.dl_CarrierFreq+uplink_frequency_offset[CC_id][0]; UE->frame_parms.ul_CarrierFreq = UE->frame_parms.dl_CarrierFreq+uplink_frequency_offset[CC_id][0];
found = 1;
break; break;
} }
...@@ -856,7 +853,6 @@ static void *UE_thread_synchSL(void *arg) ...@@ -856,7 +853,6 @@ static void *UE_thread_synchSL(void *arg)
wait_sync("UE thread synchSL"); wait_sync("UE thread synchSL");
while (oai_exit==0) { while (oai_exit==0) {
AssertFatal ( 0== pthread_mutex_lock(&UE->proc.mutex_synchSL), ""); AssertFatal ( 0== pthread_mutex_lock(&UE->proc.mutex_synchSL), "");
while (UE->proc.instance_cnt_synchSL < 0) while (UE->proc.instance_cnt_synchSL < 0)
...@@ -2292,7 +2288,7 @@ void *UE_threadSL(void *arg) { ...@@ -2292,7 +2288,7 @@ void *UE_threadSL(void *arg) {
PHY_VARS_UE *UE = (PHY_VARS_UE *) arg; PHY_VARS_UE *UE = (PHY_VARS_UE *) arg;
// int tx_enabled = 0; // int tx_enabled = 0;
int dummy_rx[UE->frame_parms.nb_antennas_rx][UE->frame_parms.samples_per_tti] __attribute__((aligned(32))); int dummy_rx[UE->frame_parms.nb_antennas_rx][UE->frame_parms.samples_per_tti] __attribute__((aligned(32)));
openair0_timestamp timestamp,timestamp1; openair0_timestamp timestamp;
void* rxp[NB_ANTENNAS_RX], *txp[NB_ANTENNAS_TX]; void* rxp[NB_ANTENNAS_RX], *txp[NB_ANTENNAS_TX];
int start_rx_stream = 0; int start_rx_stream = 0;
int i; int i;
...@@ -2693,7 +2689,7 @@ static void* timer_thread( void* param ) { ...@@ -2693,7 +2689,7 @@ static void* timer_thread( void* param ) {
//Panos: substitute this check with a check related to D2D (i.e., if D2D is enabled) //Panos: substitute this check with a check related to D2D (i.e., if D2D is enabled)
//if (nfapi_mode!=3){ //if (nfapi_mode!=3){
multicast_link_write_sock(0, multicast_link_write_sock(0,
&pdu, (char*)&pdu,
sizeof(UE_tport_header_t)); sizeof(UE_tport_header_t));
//} //}
......
...@@ -1019,7 +1019,7 @@ int main( int argc, char **argv ) { ...@@ -1019,7 +1019,7 @@ int main( int argc, char **argv ) {
//Temporarily we will be using single set of threads for multiple UEs. //Temporarily we will be using single set of threads for multiple UEs.
//init_UE_stub(1,eMBMS_active,uecap_xer_in,emul_iface); //init_UE_stub(1,eMBMS_active,uecap_xer_in,emul_iface);
//LOG_I(MAC, "Panos-D: Interface name: %s", &emul_iface); //LOG_I(MAC, "Panos-D: Interface name: %s", &emul_iface);
init_UE_stub_single_thread(NB_UE_INST,eMBMS_active,uecap_xer_in,&emul_iface, simL1); init_UE_stub_single_thread(NB_UE_INST,eMBMS_active,uecap_xer_in,emul_iface, simL1);
} }
else { else {
init_UE(NB_UE_INST,eMBMS_active,uecap_xer_in,0,get_softmodem_params()->phy_test,UE_scan,UE_scan_carrier,mode,(int)rx_gain[0][0],tx_max_power[0], init_UE(NB_UE_INST,eMBMS_active,uecap_xer_in,0,get_softmodem_params()->phy_test,UE_scan,UE_scan_carrier,mode,(int)rx_gain[0][0],tx_max_power[0],
......
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