Commit 31cf3ac0 authored by Raymond Knopp's avatar Raymond Knopp

removal of warnings

parent c245e426
...@@ -34,6 +34,7 @@ ...@@ -34,6 +34,7 @@
#include "LAYER2/MAC/mac.h" #include "LAYER2/MAC/mac.h"
#include "RRC/LTE/rrc_extern.h" #include "RRC/LTE/rrc_extern.h"
#include "PHY_INTERFACE/phy_interface.h" #include "PHY_INTERFACE/phy_interface.h"
#include "PHY/LTE_REFSIG/lte_refsig.h"
// Note: this is for prototype of generate_drs_pusch (OTA synchronization of RRUs) // Note: this is for prototype of generate_drs_pusch (OTA synchronization of RRUs)
#include "PHY/LTE_UE_TRANSPORT/transport_proto_ue.h" #include "PHY/LTE_UE_TRANSPORT/transport_proto_ue.h"
...@@ -659,8 +660,7 @@ int ru_sync_time(RU_t *ru, ...@@ -659,8 +660,7 @@ int ru_sync_time(RU_t *ru,
(void*)&ru->common.rxdata[ar][0], (void*)&ru->common.rxdata[ar][0],
frame_parms->ofdm_symbol_size); frame_parms->ofdm_symbol_size);
int32_t tmp0; int32_t maxlev0=0;
int32_t magtmp0,maxlev0=0;
int maxpos0=0; int maxpos0=0;
int64_t avg0=0; int64_t avg0=0;
int64_t result; int64_t result;
......
...@@ -247,7 +247,7 @@ void send_IF4p5(RU_t *ru, int frame, int subframe, uint16_t packet_type) { ...@@ -247,7 +247,7 @@ void send_IF4p5(RU_t *ru, int frame, int subframe, uint16_t packet_type) {
(void *)rxF, (void *)rxF,
PRACH_BLOCK_SIZE_BYTES); PRACH_BLOCK_SIZE_BYTES);
} }
if (frame == 0) LOG_D(PHY,"signal energy prach %d\n",dB_fixed(signal_energy(rxF,839))); if (frame == 0) LOG_D(PHY,"signal energy prach %d\n",dB_fixed(signal_energy((int*)rxF,839)));
} }
if (ru->idx<=1) VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME( VCD_SIGNAL_DUMPER_FUNCTIONS_TRX_WRITE_IF0+ru->idx, 1 ); if (ru->idx<=1) VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME( VCD_SIGNAL_DUMPER_FUNCTIONS_TRX_WRITE_IF0+ru->idx, 1 );
if ((ru->ifdevice.trx_write_func(&ru->ifdevice, if ((ru->ifdevice.trx_write_func(&ru->ifdevice,
...@@ -385,7 +385,7 @@ void recv_IF4p5(RU_t *ru, int *frame, int *subframe, uint16_t *packet_type, uint ...@@ -385,7 +385,7 @@ void recv_IF4p5(RU_t *ru, int *frame, int *subframe, uint16_t *packet_type, uint
int16_t *rxF; int16_t *rxF;
for (int antenna_id=0;antenna_id<ru->nb_rx;antenna_id++) { for (int antenna_id=0;antenna_id<ru->nb_rx;antenna_id++) {
#if (RRC_VERSION >= MAKE_VERSION(14, 0, 0)) #if (LTE_RRC_VERSION >= MAKE_VERSION(14, 0, 0))
if (*packet_type > IF4p5_PRACH) if (*packet_type > IF4p5_PRACH)
rxF = &prach_rxsigF_br[*packet_type - IF4p5_PRACH - 1][antenna_id][0]; rxF = &prach_rxsigF_br[*packet_type - IF4p5_PRACH - 1][antenna_id][0];
else else
......
...@@ -93,7 +93,7 @@ int beam_precoding_one_eNB(int32_t **txdataF, ...@@ -93,7 +93,7 @@ int beam_precoding_one_eNB(int32_t **txdataF,
LTE_DL_FRAME_PARMS *frame_parms LTE_DL_FRAME_PARMS *frame_parms
) )
{ {
int p, re, symbol, aa; // loop index int p, symbol, aa; // loop index
int re_offset; int re_offset;
int ofdm_symbol_size = frame_parms->ofdm_symbol_size; int ofdm_symbol_size = frame_parms->ofdm_symbol_size;
int symbols_per_tti = frame_parms->symbols_per_tti; int symbols_per_tti = frame_parms->symbols_per_tti;
...@@ -101,44 +101,37 @@ int beam_precoding_one_eNB(int32_t **txdataF, ...@@ -101,44 +101,37 @@ int beam_precoding_one_eNB(int32_t **txdataF,
re_offset = ofdm_symbol_size*symbols_per_tti*subframe; re_offset = ofdm_symbol_size*symbols_per_tti*subframe;
// txdataF_BF[aa][re] = sum(beam_weghts[p][aa][re]*txdataF[p][re]), p=0~nb_antenna_ports-1 // txdataF_BF[aa][re] = sum(beam_weghts[p][aa][re]*txdataF[p][re]), p=0~nb_antenna_ports-1
// real part and image part need to compute separately // real part and image part need to compute separately
for (aa=0; aa<nb_tx; aa++) { for (aa=0; aa<nb_tx; aa++) {
memset(txdataF_BF[aa],0,sizeof(int32_t)*(ofdm_symbol_size*symbols_per_tti)); memset(txdataF_BF[aa],0,sizeof(int32_t)*(ofdm_symbol_size*symbols_per_tti));
for(p=0;p<nb_antenna_ports;p++){ for(p=0;p<nb_antenna_ports;p++){
if (p<nb_antenna_ports_eNB || p==5){ if (p<nb_antenna_ports_eNB || p==5){
for (symbol=0; symbol<symbols_per_tti; symbol++){ for (symbol=0; symbol<symbols_per_tti; symbol++){
multadd_cpx_vector((int16_t*)&txdataF[p][symbol*ofdm_symbol_size+re_offset],
(int16_t*)beam_weights[0][p][aa],
(int16_t*)&txdataF_BF[aa][symbol*ofdm_symbol_size],
0,
ofdm_symbol_size,
15);
/*
for (re=0; re<ofdm_symbol_size; re++){
// direct
((int16_t*)&txdataF_BF[aa][re])[0] += (int16_t)((((int16_t*)&txdataF[p][re+symbol*ofdm_symbol_size+re_offset])[0]*((int16_t*)&beam_weights[p][aa][re])[0])>>15);
((int16_t*)&txdataF_BF[aa][re])[0] -= (int16_t)((((int16_t*)&txdataF[p][re+symbol*ofdm_symbol_size+re_offset])[1]*((int16_t*)&beam_weights[p][aa][re])[1])>>15);
((int16_t*)&txdataF_BF[aa][re])[1] += (int16_t)((((int16_t*)&txdataF[p][re+symbol*ofdm_symbol_size+re_offset])[0]*((int16_t*)&beam_weights[p][aa][re])[1])>>15);
((int16_t*)&txdataF_BF[aa][re])[1] += (int16_t)((((int16_t*)&txdataF[p][re+symbol*ofdm_symbol_size+re_offset])[1]*((int16_t*)&beam_weights[p][aa][re])[0])>>15);
}
*/
}
}
}
}
multadd_cpx_vector((int16_t*)&txdataF[p][symbol*ofdm_symbol_size+re_offset],
(int16_t*)beam_weights[0][p][aa],
(int16_t*)&txdataF_BF[aa][symbol*ofdm_symbol_size],
0,
ofdm_symbol_size,
15);
/*
for (re=0; re<ofdm_symbol_size; re++){
// direct
((int16_t*)&txdataF_BF[aa][re])[0] += (int16_t)((((int16_t*)&txdataF[p][re+symbol*ofdm_symbol_size+re_offset])[0]*((int16_t*)&beam_weights[p][aa][re])[0])>>15);
((int16_t*)&txdataF_BF[aa][re])[0] -= (int16_t)((((int16_t*)&txdataF[p][re+symbol*ofdm_symbol_size+re_offset])[1]*((int16_t*)&beam_weights[p][aa][re])[1])>>15);
((int16_t*)&txdataF_BF[aa][re])[1] += (int16_t)((((int16_t*)&txdataF[p][re+symbol*ofdm_symbol_size+re_offset])[0]*((int16_t*)&beam_weights[p][aa][re])[1])>>15);
((int16_t*)&txdataF_BF[aa][re])[1] += (int16_t)((((int16_t*)&txdataF[p][re+symbol*ofdm_symbol_size+re_offset])[1]*((int16_t*)&beam_weights[p][aa][re])[0])>>15);
}
*/
}
}
}
}
return 0; return 0;
} }
...@@ -50,6 +50,7 @@ ...@@ -50,6 +50,7 @@
#include "PHY/LTE_TRANSPORT/if5_tools.h" #include "PHY/LTE_TRANSPORT/if5_tools.h"
#include "PHY/LTE_TRANSPORT/transport_common_proto.h" #include "PHY/LTE_TRANSPORT/transport_common_proto.h"
#include "PHY/LTE_TRANSPORT/transport_proto.h" #include "PHY/LTE_TRANSPORT/transport_proto.h"
#include "PHY/LTE_UE_TRANSPORT/transport_proto_ue.h"
#include "PHY/LTE_ESTIMATION/lte_estimation.h" #include "PHY/LTE_ESTIMATION/lte_estimation.h"
#include "LAYER2/MAC/mac.h" #include "LAYER2/MAC/mac.h"
......
...@@ -476,7 +476,6 @@ void eNB_top(PHY_VARS_eNB *eNB, int frame_rx, int subframe_rx, char *string,RU_t ...@@ -476,7 +476,6 @@ void eNB_top(PHY_VARS_eNB *eNB, int frame_rx, int subframe_rx, char *string,RU_t
} }
int wakeup_txfh(L1_rxtx_proc_t *proc,int frame_tx,int subframe_tx,uint64_t timestamp_tx,PHY_VARS_eNB *eNB) { int wakeup_txfh(L1_rxtx_proc_t *proc,int frame_tx,int subframe_tx,uint64_t timestamp_tx,PHY_VARS_eNB *eNB) {
RU_t *ru;
RU_proc_t *ru_proc; RU_proc_t *ru_proc;
LTE_DL_FRAME_PARMS *fp; LTE_DL_FRAME_PARMS *fp;
...@@ -587,7 +586,6 @@ int wakeup_rxtx(PHY_VARS_eNB *eNB,RU_t *ru) { ...@@ -587,7 +586,6 @@ int wakeup_rxtx(PHY_VARS_eNB *eNB,RU_t *ru) {
LOG_D(PHY,"ENTERED wakeup_rxtx, %d.%d\n",ru_proc->frame_rx,ru_proc->subframe_rx); LOG_D(PHY,"ENTERED wakeup_rxtx, %d.%d\n",ru_proc->frame_rx,ru_proc->subframe_rx);
int i;
struct timespec wait; struct timespec wait;
int sleep_cnt=0; int sleep_cnt=0;
......
This diff is collapsed.
/******************************************************************************* /*
OpenAirInterface * Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
Copyright(c) 1999 - 2014 Eurecom * contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
OpenAirInterface is free software: you can redistribute it and/or modify * The OpenAirInterface Software Alliance licenses this file to You under
it under the terms of the GNU General Public License as published by * the OAI Public License, Version 1.1 (the "License"); you may not use this file
the Free Software Foundation, either version 3 of the License, or * except in compliance with the License.
(at your option) any later version. * You may obtain a copy of the License at
*
* http://www.openairinterface.org/?page_id=698
OpenAirInterface is distributed in the hope that it will be useful, *
but WITHOUT ANY WARRANTY; without even the implied warranty of * Unless required by applicable law or agreed to in writing, software
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * distributed under the License is distributed on an "AS IS" BASIS,
GNU General Public License for more details. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
You should have received a copy of the GNU General Public License * limitations under the License.
along with OpenAirInterface.The full GNU General Public License is *-------------------------------------------------------------------------------
included in this distribution in the file called "COPYING". If not, * For more information about the OpenAirInterface (OAI) Software Alliance:
see <http://www.gnu.org/licenses/>. * contact@openairinterface.org
*/
Contact Information /*! \file ru_control.c
OpenAirInterface Admin: openair_admin@eurecom.fr
OpenAirInterface Tech : openair_tech@eurecom.fr
OpenAirInterface Dev : openair4g-devel@lists.eurecom.fr
Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
*******************************************************************************/
/*! \file lte-ru.c
* \brief Top-level threads for RU entity * \brief Top-level threads for RU entity
* \author R. Knopp, F. Kaltenberger, Navid Nikaein * \author R. Knopp, F. Kaltenberger, Navid Nikaein
* \date 2012 * \date 2018
* \version 0.1 * \version 0.1
* \company Eurecom * \company Eurecom
* \email: knopp@eurecom.fr,florian.kaltenberger@eurecom.fr, navid.nikaein@eurecom.fr * \email: knopp@eurecom.fr,florian.kaltenberger@eurecom.fr, navid.nikaein@eurecom.fr
...@@ -101,6 +92,10 @@ void fill_rf_config(RU_t *ru, char *rf_config_file); ...@@ -101,6 +92,10 @@ void fill_rf_config(RU_t *ru, char *rf_config_file);
void* ru_thread_control( void* param ); void* ru_thread_control( void* param );
extern void reset_proc(RU_t *ru);
extern int setup_RU_buffers(RU_t *ru);
extern void phy_init_RU(RU_t*); extern void phy_init_RU(RU_t*);
extern const char ru_states[6][9]; extern const char ru_states[6][9];
...@@ -494,7 +489,7 @@ void configure_rru(int idx, ...@@ -494,7 +489,7 @@ void configure_rru(int idx,
fill_rf_config(ru,ru->rf_config_file); fill_rf_config(ru,ru->rf_config_file);
// phy_init_RU(ru); // phy_init_RU(ru);
} }
...@@ -506,14 +501,13 @@ void* ru_thread_control( void* param ) { ...@@ -506,14 +501,13 @@ void* ru_thread_control( void* param ) {
RU_proc_t *proc = &ru->proc; RU_proc_t *proc = &ru->proc;
RRU_CONFIG_msg_t rru_config_msg; RRU_CONFIG_msg_t rru_config_msg;
ssize_t msg_len; ssize_t msg_len;
int len, ret; int len;
// Start IF device if any // Start IF device if any
if (ru->start_if) { if (ru->start_if) {
LOG_I(PHY,"Starting IF interface for RU %d\n",ru->idx); LOG_I(PHY,"Starting IF interface for RU %d\n",ru->idx);
AssertFatal( AssertFatal(
ru->start_if(ru,NULL) == 0, "Could not start the IF device\n"); ru->start_if(ru,NULL) == 0, "Could not start the IF device\n");
if (ru->if_south != LOCAL_RF) wait_eNBs(); if (ru->if_south != LOCAL_RF) wait_eNBs();
} }
...@@ -597,17 +591,11 @@ void* ru_thread_control( void* param ) { ...@@ -597,17 +591,11 @@ void* ru_thread_control( void* param ) {
//if (ru->is_slave == 1) lte_sync_time_init(&ru->frame_parms); //if (ru->is_slave == 1) lte_sync_time_init(&ru->frame_parms);
if (ru->rfdevice.is_init != 1){ if (ru->rfdevice.is_init != 1) openair0_device_load(&ru->rfdevice,&ru->openair0_cfg);
ret = openair0_device_load(&ru->rfdevice,&ru->openair0_cfg);
}
if (ru->rfdevice.trx_config_func) AssertFatal((ru->rfdevice.trx_config_func(&ru->rfdevice,&ru->openair0_cfg)==0), if (ru->rfdevice.trx_config_func) AssertFatal((ru->rfdevice.trx_config_func(&ru->rfdevice,&ru->openair0_cfg)==0),
"Failed to configure RF device for RU %d\n",ru->idx); "Failed to configure RF device for RU %d\n",ru->idx);
if (setup_RU_buffers(ru)!=0) { if (setup_RU_buffers(ru)!=0) {
printf("Exiting, cannot initialize RU Buffers\n"); printf("Exiting, cannot initialize RU Buffers\n");
exit(-1); exit(-1);
...@@ -714,10 +702,10 @@ void* ru_thread_control( void* param ) { ...@@ -714,10 +702,10 @@ void* ru_thread_control( void* param ) {
case RRU_frame_resynch: //RRU case RRU_frame_resynch: //RRU
if (ru->if_south != LOCAL_RF) LOG_E(PHY,"Received RRU frame resynch message, should not happen in RAU\n"); if (ru->if_south != LOCAL_RF) LOG_E(PHY,"Received RRU frame resynch message, should not happen in RAU\n");
else { else {
LOG_I(PHY,"Received RRU_frame_resynch command\n"); LOG_I(PHY,"Received RRU_frame_resynch command\n");
ru->cmd = RU_FRAME_RESYNCH; ru->cmd = RU_FRAME_RESYNCH;
ru->cmdval = ((uint16_t*)&rru_config_msg.msg[0])[0]; ru->cmdval = ((uint16_t*)&rru_config_msg.msg[0])[0];
LOG_I(PHY,"Received Frame Resynch message with value %d\n",ru->cmdval); LOG_I(PHY,"Received Frame Resynch message with value %d\n",ru->cmdval);
} }
break; break;
......
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