Changed directory structure.
Corrected clock_offset_corrector (for some streange and yet unknown reason fractional resampler eats strem tags for some values of sps).
(this commit may contain some changes that are not described)
diff --git a/lib/misc_utils/controlled_const_source_f_impl.cc b/lib/misc_utils/controlled_const_source_f_impl.cc
index d58f04f..4aa2f14 100644
--- a/lib/misc_utils/controlled_const_source_f_impl.cc
+++ b/lib/misc_utils/controlled_const_source_f_impl.cc
@@ -78,8 +78,6 @@
void controlled_const_source_f_impl::set_constant(float constant){
d_constant = constant;
}
-
-
} /* namespace gsm */
} /* namespace gr */
diff --git a/lib/misc_utils/controlled_rotator_cc_impl.cc b/lib/misc_utils/controlled_rotator_cc_impl.cc
index 5877ab1..ee72a6a 100644
--- a/lib/misc_utils/controlled_rotator_cc_impl.cc
+++ b/lib/misc_utils/controlled_rotator_cc_impl.cc
@@ -83,14 +83,16 @@
while(ii < noutput_items){
//look for different values on phase increment control input
if(d_phase_inc != (*pp)){
+
set_phase_inc(*(pp)); //set new value of phase increment
float freq_offset_setting = (*(pp) / (2*M_PI)) * d_samp_rate; //send stream tag with a new value of the frequency offset
- int offset = nitems_written(0);
+
+ uint64_t offset = nitems_written(0);
pmt::pmt_t key = pmt::string_to_symbol("setting_freq_offset");
pmt::pmt_t value = pmt::from_double(freq_offset_setting);
add_item_tag(0,offset, key, value);
-
+
break;
}
pp++;
diff --git a/lib/misc_utils/extract_system_info_impl.cc b/lib/misc_utils/extract_system_info_impl.cc
index 1d20d8d..6b6ce5f 100644
--- a/lib/misc_utils/extract_system_info_impl.cc
+++ b/lib/misc_utils/extract_system_info_impl.cc
@@ -90,7 +90,6 @@
info.lac = (msg_elements[6]<<8)+msg_elements[7]; //wyciągnij lac
info.mnc = (msg_elements[5]>>4); //wyciągnij id operatora
-
std::set<chan_info, compare_id>::iterator iter = d_c0_channels.find(info);
boost::mutex::scoped_lock lock(extract_mutex);
if(iter != d_c0_channels.end()){
@@ -178,7 +177,21 @@
void extract_system_info_impl::reset()
{
- d_c0_channels.clear();
+ std::set<chan_info, compare_id>::iterator iter;
+
+ chan_info info;
+
+ for(iter = d_c0_channels.begin(); iter != d_c0_channels.end(); iter++){
+ info.id = iter->id;
+ info.cell_id = iter->cell_id; //wyciągnij cell id
+ info.lac = iter->lac; //wyciągnij lac
+ info.mnc = iter->mnc;
+ info.pwr_db = -111;
+ d_c0_channels.erase(iter);
+ d_c0_channels.insert(info);
+ }
+// d_c0_channels.clear();
+
if(!empty_p(pmt::mp("bursts"))){
delete_head_blocking(pmt::mp("bursts"));
}
diff --git a/lib/receiver/receiver_impl.cc b/lib/receiver/receiver_impl.cc
index a6f1a16..0917f1e 100644
--- a/lib/receiver/receiver_impl.cc
+++ b/lib/receiver/receiver_impl.cc
@@ -241,7 +241,7 @@
d_state = fcch_search;
pmt::pmt_t msg = pmt::make_tuple(pmt::mp("freq_offset"),pmt::from_double(0.0),pmt::mp("sync_loss"));
message_port_pub(pmt::mp("measurements"), msg);
- DCOUT("Re-Synchronization!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
+ COUT("Re-Synchronization!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
}
}
}