git-svn-id: http://svn.eurecom.fr/openair4G/trunk@6412 818b1a75-f10b-46b9-bf7c-635c3b92a50f
This commit is contained in:
@@ -1792,7 +1792,8 @@ static void *UE_thread_synch(void *arg) {
|
||||
#endif
|
||||
printf("starting UE synch thread\n");
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
while (!oai_exit) {
|
||||
|
||||
if (pthread_mutex_lock(&UE->mutex_synch) != 0) {
|
||||
@@ -2630,6 +2631,86 @@ void init_UE_threads(void) {
|
||||
|
||||
}
|
||||
|
||||
#define KHz (1000UL)
|
||||
#define MHz (1000 * KHz)
|
||||
|
||||
typedef struct eutra_band_s {
|
||||
int16_t band;
|
||||
uint32_t ul_min;
|
||||
uint32_t ul_max;
|
||||
uint32_t dl_min;
|
||||
uint32_t dl_max;
|
||||
lte_frame_type_t frame_type;
|
||||
} eutra_band_t;
|
||||
|
||||
typedef struct band_info_s {
|
||||
int nbands;
|
||||
eutra_band_t band_info[100];
|
||||
} band_info_t;
|
||||
|
||||
band_info_t bands_to_scan;
|
||||
|
||||
static const eutra_band_t eutra_bands[] =
|
||||
{
|
||||
{ 1, 1920 * MHz, 1980 * MHz, 2110 * MHz, 2170 * MHz, FDD},
|
||||
{ 2, 1850 * MHz, 1910 * MHz, 1930 * MHz, 1990 * MHz, FDD},
|
||||
{ 3, 1710 * MHz, 1785 * MHz, 1805 * MHz, 1880 * MHz, FDD},
|
||||
{ 4, 1710 * MHz, 1755 * MHz, 2110 * MHz, 2155 * MHz, FDD},
|
||||
{ 5, 824 * MHz, 849 * MHz, 869 * MHz, 894 * MHz, FDD},
|
||||
{ 6, 830 * MHz, 840 * MHz, 875 * MHz, 885 * MHz, FDD},
|
||||
{ 7, 2500 * MHz, 2570 * MHz, 2620 * MHz, 2690 * MHz, FDD},
|
||||
{ 8, 880 * MHz, 915 * MHz, 925 * MHz, 960 * MHz, FDD},
|
||||
{ 9, 1749900 * KHz, 1784900 * KHz, 1844900 * KHz, 1879900 * KHz, FDD},
|
||||
{10, 1710 * MHz, 1770 * MHz, 2110 * MHz, 2170 * MHz, FDD},
|
||||
{11, 1427900 * KHz, 1452900 * KHz, 1475900 * KHz, 1500900 * KHz, FDD},
|
||||
{12, 698 * MHz, 716 * MHz, 728 * MHz, 746 * MHz, FDD},
|
||||
{13, 777 * MHz, 787 * MHz, 746 * MHz, 756 * MHz, FDD},
|
||||
{14, 788 * MHz, 798 * MHz, 758 * MHz, 768 * MHz, FDD},
|
||||
|
||||
{17, 704 * MHz, 716 * MHz, 734 * MHz, 746 * MHz, FDD},
|
||||
|
||||
{33, 1900 * MHz, 1920 * MHz, 1900 * MHz, 1920 * MHz, TDD},
|
||||
{34, 2010 * MHz, 2025 * MHz, 2010 * MHz, 2025 * MHz, TDD},
|
||||
{35, 1850 * MHz, 1910 * MHz, 1850 * MHz, 1910 * MHz, TDD},
|
||||
{36, 1930 * MHz, 1990 * MHz, 1930 * MHz, 1990 * MHz, TDD},
|
||||
{37, 1910 * MHz, 1930 * MHz, 1910 * MHz, 1930 * MHz, TDD},
|
||||
{38, 2570 * MHz, 2620 * MHz, 2570 * MHz, 2630 * MHz, TDD},
|
||||
{39, 1880 * MHz, 1920 * MHz, 1880 * MHz, 1920 * MHz, TDD},
|
||||
{40, 2300 * MHz, 2400 * MHz, 2300 * MHz, 2400 * MHz, TDD},
|
||||
{41, 2496 * MHz, 2690 * MHz, 2496 * MHz, 2690 * MHz, TDD},
|
||||
{42, 3400 * MHz, 3600 * MHz, 3400 * MHz, 3600 * MHz, TDD},
|
||||
{43, 3600 * MHz, 3800 * MHz, 3600 * MHz, 3800 * MHz, TDD},
|
||||
{44, 703 * MHz, 803 * MHz, 703 * MHz, 803 * MHz, TDD},
|
||||
};
|
||||
|
||||
|
||||
void fill_ue_band_info() {
|
||||
|
||||
UE_EUTRA_Capability_t *UE_EUTRA_Capability = UE_rrc_inst[0].UECap->UE_EUTRA_Capability;
|
||||
int i,j;
|
||||
|
||||
bands_to_scan.nbands = UE_EUTRA_Capability->rf_Parameters.supportedBandListEUTRA.list.count;
|
||||
|
||||
for (i=0;i<bands_to_scan.nbands;i++) {
|
||||
|
||||
for (j=0;j<sizeof (eutra_bands) / sizeof (eutra_bands[0]);j++)
|
||||
if (eutra_bands[j].band == UE_EUTRA_Capability->rf_Parameters.supportedBandListEUTRA.list.array[i]->bandEUTRA) {
|
||||
memcpy(&bands_to_scan.band_info[i],
|
||||
&eutra_bands[j],
|
||||
sizeof(eutra_band_t));
|
||||
|
||||
printf("Band %d (%d) : DL %u..%u Hz, UL %u..%u Hz, Duplex %s \n",
|
||||
bands_to_scan.band_info[i].band,
|
||||
UE_EUTRA_Capability->rf_Parameters.supportedBandListEUTRA.list.array[i]->bandEUTRA,
|
||||
bands_to_scan.band_info[i].dl_min,
|
||||
bands_to_scan.band_info[i].dl_max,
|
||||
bands_to_scan.band_info[i].ul_min,
|
||||
bands_to_scan.band_info[i].ul_max,
|
||||
(bands_to_scan.band_info[i].frame_type==FDD) ? "FDD" : "TDD");
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static void get_options (int argc, char **argv) {
|
||||
int c;
|
||||
@@ -3456,6 +3537,9 @@ int main(int argc, char **argv) {
|
||||
printf("ITTI tasks created\n");
|
||||
#endif
|
||||
|
||||
if (UE_flag==1)
|
||||
fill_ue_band_info();
|
||||
|
||||
/* #ifdef OPENAIR2
|
||||
//if (otg_enabled) {
|
||||
init_all_otg(0);
|
||||
|
||||
Reference in New Issue
Block a user