patches13/0001-minor.patch
git-svn-id: http://svn.eurecom.fr/openair4G/trunk@7047 818b1a75-f10b-46b9-bf7c-635c3b92a50f
This commit is contained in:
@@ -256,7 +256,9 @@ void lte_sync_time_free(void) {
|
||||
sync_corr_ue0 = NULL;
|
||||
sync_corr_ue1 = NULL;
|
||||
sync_corr_ue2 = NULL;
|
||||
|
||||
primary_synch0_time = NULL;
|
||||
primary_synch1_time = NULL;
|
||||
primary_synch2_time = NULL;
|
||||
}
|
||||
|
||||
static inline int abs32(int x) {
|
||||
|
||||
@@ -66,12 +66,12 @@ extern short primary_synch2[144];
|
||||
extern unsigned char primary_synch0_tab[72];
|
||||
extern unsigned char primary_synch1_tab[72];
|
||||
extern unsigned char primary_synch2_tab[72];
|
||||
extern int16_t *primary_synch0_time;
|
||||
extern int16_t *primary_synch1_time;
|
||||
extern int16_t *primary_synch2_time;
|
||||
extern int *sync_corr_ue0;
|
||||
extern int *sync_corr_ue1;
|
||||
extern int *sync_corr_ue2;
|
||||
extern int16_t *primary_synch0_time; //!< index: [0..ofdm_symbol_size*2[
|
||||
extern int16_t *primary_synch1_time; //!< index: [0..ofdm_symbol_size*2[
|
||||
extern int16_t *primary_synch2_time; //!< index: [0..ofdm_symbol_size*2[
|
||||
extern int *sync_corr_ue0; //!< index [0..10*samples_per_tti[
|
||||
extern int *sync_corr_ue1; //!< index [0..10*samples_per_tti[
|
||||
extern int *sync_corr_ue2; //!< index [0..10*samples_per_tti[
|
||||
|
||||
extern int flagMag;
|
||||
//extern short **txdataF_rep_tmp;
|
||||
|
||||
@@ -52,33 +52,36 @@ typedef enum {
|
||||
|
||||
|
||||
typedef struct {
|
||||
/* Module ID for this configuration */
|
||||
//! Module ID for this configuration
|
||||
int Mod_id;
|
||||
/* the sample rate for both transmit and receive. */
|
||||
//! the sample rate for both transmit and receive.
|
||||
double sample_rate;
|
||||
/* number of samples per RX/TX packet (USRP + Ethernet) */
|
||||
//! number of samples per RX/TX packet (USRP + Ethernet)
|
||||
int samples_per_packet;
|
||||
/* number of RX channels (=RX antennas) */
|
||||
//! number of RX channels (=RX antennas)
|
||||
int rx_num_channels;
|
||||
/* number of TX channels (=TX antennas) */
|
||||
//! number of TX channels (=TX antennas)
|
||||
int tx_num_channels;
|
||||
/* center frequency in Hz for RX */
|
||||
//! \brief Center frequency in Hz for RX.
|
||||
//! index: [0..rx_num_channels[
|
||||
double rx_freq[4];
|
||||
/* center frequency in Hz for TX */
|
||||
//! \brief Center frequency in Hz for TX.
|
||||
//! index: [0..rx_num_channels[ !!! see lte-ue.c:427 FIXME iterates over rx_num_channels
|
||||
double tx_freq[4];
|
||||
/* mode for rxgain (ExpressMIMO2)*/
|
||||
//! mode for rxgain (ExpressMIMO2)
|
||||
rx_gain_t rxg_mode[4];
|
||||
/* gain for RX in dB */
|
||||
//! \brief Gain for RX in dB.
|
||||
//! index: [0..rx_num_channels[
|
||||
double rx_gain[4];
|
||||
/* gain for TX in dB */
|
||||
//! gain for TX in dB
|
||||
double tx_gain[4];
|
||||
/* RX bandwidth in Hz */
|
||||
//! RX bandwidth in Hz
|
||||
double rx_bw;
|
||||
/* TX bandwidth in Hz */
|
||||
//! TX bandwidth in Hz
|
||||
double tx_bw;
|
||||
/* RRH IP addr for Ethernet interface */
|
||||
//! RRH IP addr for Ethernet interface
|
||||
char *rrh_ip;
|
||||
/* RRH port number for Ethernet interface */
|
||||
//! RRH port number for Ethernet interface
|
||||
int rrh_port;
|
||||
} openair0_config_t;
|
||||
|
||||
|
||||
@@ -412,8 +412,8 @@ static void *UE_thread_synch(void *arg) {
|
||||
if (abs(openair_daq_vars.freq_offset) > 7500) {
|
||||
LOG_I(PHY,"[initial_sync] No cell synchronization found, abandoning\n");
|
||||
mac_xface->macphy_exit("No cell synchronization found, abandoning");
|
||||
return; // not reached
|
||||
}
|
||||
else {
|
||||
LOG_I(PHY,"[initial_sync] trying carrier off %d Hz, rxgain %d (DL %u, UL %u)\n",openair_daq_vars.freq_offset,
|
||||
UE->rx_total_gain_dB,
|
||||
downlink_frequency[0][0]+openair_daq_vars.freq_offset,
|
||||
@@ -461,7 +461,6 @@ static void *UE_thread_synch(void *arg) {
|
||||
|
||||
// rt_sleep_ns(FRAME_PERIOD);
|
||||
|
||||
} // freq_offset
|
||||
} // initial_sync=0
|
||||
break;
|
||||
case si:
|
||||
@@ -623,6 +622,9 @@ static void *UE_thread_tx(void *arg) {
|
||||
return(0);
|
||||
}
|
||||
|
||||
//! \brief .
|
||||
//! This is a pthread.
|
||||
//! \param arg expects a pointer to \ref PHY_VARS_UE.
|
||||
static void *UE_thread_rx(void *arg) {
|
||||
|
||||
PHY_VARS_UE *UE = (PHY_VARS_UE*)arg;
|
||||
@@ -685,15 +687,17 @@ static void *UE_thread_rx(void *arg) {
|
||||
if (pthread_mutex_lock(&UE->mutex_rx) != 0) {
|
||||
LOG_E(PHY,"[SCHED][eNB] error locking mutex for UE RX\n");
|
||||
exit_fun("nothing to add");
|
||||
break;
|
||||
}
|
||||
else {
|
||||
|
||||
while (UE->instance_cnt_rx < 0) {
|
||||
pthread_cond_wait(&UE->cond_rx,&UE->mutex_rx);
|
||||
}
|
||||
|
||||
if (pthread_mutex_unlock(&UE->mutex_rx) != 0) {
|
||||
LOG_E(PHY,"[SCHED][eNB] error unlocking mutex for UE RX\n");
|
||||
exit_fun("nothing to add");
|
||||
break;
|
||||
}
|
||||
|
||||
for (i=0;i<2;i++) {
|
||||
@@ -727,7 +731,6 @@ static void *UE_thread_rx(void *arg) {
|
||||
UE->frame_rx,UE->slot_tx>>1);
|
||||
UE->UE_mode[0] = RESYNCH;
|
||||
// mac_xface->macphy_exit("Connection lost");
|
||||
//exit(-1);
|
||||
}
|
||||
else if (ret == PHY_HO_PRACH) {
|
||||
LOG_I(PHY,"[UE %d] Frame %d, subframe %d, return to PRACH and perform a contention-free access\n",
|
||||
@@ -759,9 +762,10 @@ static void *UE_thread_rx(void *arg) {
|
||||
}
|
||||
}
|
||||
// printf("UE_thread_rx done\n");
|
||||
}
|
||||
}
|
||||
return(0);
|
||||
}
|
||||
|
||||
// thread finished
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user