diff options
author | ptrkrysik <ptrkrysik@gmail.com> | 2015-08-06 10:02:04 +0200 |
---|---|---|
committer | ptrkrysik <ptrkrysik@gmail.com> | 2015-08-06 10:02:04 +0200 |
commit | 5e37674adf71f3de20b8da536c992ad4ae02f4b8 (patch) | |
tree | b109bc5218bafc6a526d436742335564f78d2299 /lib | |
parent | 32c55a1f5203ce8a431e7cefd173c78ecd9ffc8e (diff) |
Changes in extract_system_info
Diffstat (limited to 'lib')
-rw-r--r-- | lib/misc_utils/extract_system_info_impl.cc | 35 | ||||
-rw-r--r-- | lib/misc_utils/extract_system_info_impl.h | 1 |
2 files changed, 19 insertions, 17 deletions
diff --git a/lib/misc_utils/extract_system_info_impl.cc b/lib/misc_utils/extract_system_info_impl.cc index 846c87a..c9ffc06 100644 --- a/lib/misc_utils/extract_system_info_impl.cc +++ b/lib/misc_utils/extract_system_info_impl.cc @@ -104,17 +104,18 @@ namespace gr { boost::mutex::scoped_lock lock(extract_mutex); //read neighbour cells gsm48_decode_freq_list(freq, &msg_elements[3], 16, 0xce, 0x01); - for(int arfcn=0; arfcn<sizeof(freq); arfcn++){ - if(freq[arfcn].mask==0x01){ - d_c0_channels[info.id].neighbour_cells.insert(arfcn); - } - } if(d_c0_channels.find(info.id) != d_c0_channels.end()){ d_c0_channels[info.id].copy_nonzero_elements(info); } else { d_c0_channels[info.id] = info; } + + for(int arfcn=0; arfcn<sizeof(freq); arfcn++){ + if(freq[arfcn].mask==0x01){ + d_c0_channels[info.id].neighbour_cells.insert(arfcn); + } + } } else if(msg_elements[2]==0x02){ //System Information Type 2bis memset(freq, 0, sizeof(freq)); @@ -124,17 +125,17 @@ namespace gr { boost::mutex::scoped_lock lock(extract_mutex); //read neighbour cells gsm48_decode_freq_list(freq, &msg_elements[3], 16, 0xce, 0x01); - for(int arfcn=0; arfcn<sizeof(freq); arfcn++){ - if(freq[arfcn].mask==0x01){ - d_c0_channels[info.id].neighbour_cells.insert(arfcn); - } - } - if(d_c0_channels.find(info.id) != d_c0_channels.end()){ d_c0_channels[info.id].copy_nonzero_elements(info); } else { d_c0_channels[info.id] = info; } + + for(int arfcn=0; arfcn<sizeof(freq); arfcn++){ + if(freq[arfcn].mask==0x01){ + d_c0_channels[info.id].neighbour_cells.insert(arfcn); + } + } } else if(msg_elements[2]==0x03){ //System Information Type 2ter memset(freq, 0, sizeof(freq)); @@ -144,17 +145,17 @@ namespace gr { boost::mutex::scoped_lock lock(extract_mutex); //read neighbour cells gsm48_decode_freq_list(freq, &msg_elements[3], 16, 0x8e, 0x01); - for(int arfcn=0; arfcn<sizeof(freq); arfcn++){ - if(freq[arfcn].mask==0x01){ - d_c0_channels[info.id].neighbour_cells.insert(arfcn); - } - } - if(d_c0_channels.find(info.id) != d_c0_channels.end()){ d_c0_channels[info.id].copy_nonzero_elements(info); } else { d_c0_channels[info.id] = info; } + + for(int arfcn=0; arfcn<sizeof(freq); arfcn++){ + if(freq[arfcn].mask==0x01){ + d_c0_channels[info.id].neighbour_cells.insert(arfcn); + } + } } } diff --git a/lib/misc_utils/extract_system_info_impl.h b/lib/misc_utils/extract_system_info_impl.h index ea259ad..b88a586 100644 --- a/lib/misc_utils/extract_system_info_impl.h +++ b/lib/misc_utils/extract_system_info_impl.h @@ -44,6 +44,7 @@ namespace gr { chan_info(const chan_info & info) : id(info.id), pwr_db(info.pwr_db), arfcn(info.arfcn), lac(info.lac), cell_id(info.cell_id), mnc(info.mnc){} ~chan_info(){} void copy_nonzero_elements(const chan_info & info){ + id = info.id; pwr_db = info.pwr_db; arfcn = info.arfcn; lac = (info.lac!=0) ? info.lac : lac; |