mirror of
				https://github.com/gnss-sdr/gnss-sdr
				synced 2025-10-31 07:13:03 +00:00 
			
		
		
		
	improving documentation
git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@339 64b25241-fba3-4117-9849-534c7e92360d
This commit is contained in:
		| @@ -58,6 +58,10 @@ public: | |||||||
|     { |     { | ||||||
|         return role_; |         return role_; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     /*! | ||||||
|  |      * \brief Returns "Galileo_E1_PCPS_Ambiguous_Acquisition" | ||||||
|  |      */ | ||||||
|     std::string implementation() |     std::string implementation() | ||||||
|     { |     { | ||||||
|         return "Galileo_E1_PCPS_Ambiguous_Acquisition"; |         return "Galileo_E1_PCPS_Ambiguous_Acquisition"; | ||||||
|   | |||||||
| @@ -61,6 +61,10 @@ public: | |||||||
|     { |     { | ||||||
|         return role_; |         return role_; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     /*! | ||||||
|  |      * \brief Returns "GPS_L1_CA_PCPS_Acquisition" | ||||||
|  |      */ | ||||||
|     std::string implementation() |     std::string implementation() | ||||||
|     { |     { | ||||||
|         return "GPS_L1_CA_PCPS_Acquisition"; |         return "GPS_L1_CA_PCPS_Acquisition"; | ||||||
|   | |||||||
| @@ -70,6 +70,8 @@ public: | |||||||
|     gr_basic_block_sptr get_left_block(); |     gr_basic_block_sptr get_left_block(); | ||||||
|     gr_basic_block_sptr get_right_block(); |     gr_basic_block_sptr get_right_block(); | ||||||
|     std::string role(){ return role_; } |     std::string role(){ return role_; } | ||||||
|  |  | ||||||
|  |     //! Returns "Channel" | ||||||
|     std::string implementation(){ return "Channel"; } |     std::string implementation(){ return "Channel"; } | ||||||
|     size_t item_size(){ return 0; } |     size_t item_size(){ return 0; } | ||||||
|     Gnss_Signal get_signal() const { return gnss_signal_; } |     Gnss_Signal get_signal() const { return gnss_signal_; } | ||||||
|   | |||||||
| @@ -65,6 +65,7 @@ public: | |||||||
|     gr_basic_block_sptr get_right_block(); |     gr_basic_block_sptr get_right_block(); | ||||||
|  |  | ||||||
|     std::string role(){ return role_; } |     std::string role(){ return role_; } | ||||||
|  |     //! Returns "Signal_Conditioner" | ||||||
|     std::string implementation(){ return "Signal_Conditioner"; } |     std::string implementation(){ return "Signal_Conditioner"; } | ||||||
|     size_t item_size(){ return 0; } |     size_t item_size(){ return 0; } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -55,6 +55,7 @@ public: | |||||||
|     { |     { | ||||||
|         return role_; |         return role_; | ||||||
|     } |     } | ||||||
|  |     //! Returns "IshortToComplex" | ||||||
|     std::string implementation() |     std::string implementation() | ||||||
|     { |     { | ||||||
|         return "IshortToComplex"; |         return "IshortToComplex"; | ||||||
|   | |||||||
| @@ -60,6 +60,8 @@ public: | |||||||
|     { |     { | ||||||
|         return role_; |         return role_; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     //! Returns "Fir_Filter" | ||||||
|     std::string implementation() |     std::string implementation() | ||||||
|     { |     { | ||||||
|         return "Fir_Filter"; |         return "Fir_Filter"; | ||||||
|   | |||||||
| @@ -64,6 +64,8 @@ public: | |||||||
|     { |     { | ||||||
|         return role_; |         return role_; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     //! Returns "Freq_Xlating_Fir_Filter" | ||||||
|     std::string implementation() |     std::string implementation() | ||||||
|     { |     { | ||||||
|         return "Freq_Xlating_Fir_Filter"; |         return "Freq_Xlating_Fir_Filter"; | ||||||
|   | |||||||
| @@ -6,7 +6,7 @@ | |||||||
|  * |  * | ||||||
|  * ------------------------------------------------------------------------- |  * ------------------------------------------------------------------------- | ||||||
|  * |  * | ||||||
|  * Copyright (C) 2010-2012  (see AUTHORS file for a list of contributors) |  * Copyright (C) 2010-2013  (see AUTHORS file for a list of contributors) | ||||||
|  * |  * | ||||||
|  * GNSS-SDR is a software defined Global Navigation |  * GNSS-SDR is a software defined Global Navigation | ||||||
|  *          Satellite Systems receiver |  *          Satellite Systems receiver | ||||||
| @@ -40,7 +40,10 @@ | |||||||
| gr_block_sptr gnss_sdr_make_valve (size_t sizeof_stream_item, | gr_block_sptr gnss_sdr_make_valve (size_t sizeof_stream_item, | ||||||
|         int nitems, |         int nitems, | ||||||
|         gr_msg_queue_sptr queue); |         gr_msg_queue_sptr queue); | ||||||
|  | /*! | ||||||
|  |  * \brief Implementation of a GNU Radio block that sends a STOP message to the | ||||||
|  |  * control queue right after a specific number of samples have passed through it. | ||||||
|  |  */ | ||||||
| class gnss_sdr_valve : public gr_sync_block | class gnss_sdr_valve : public gr_sync_block | ||||||
| { | { | ||||||
|     friend gr_block_sptr gnss_sdr_make_valve(size_t sizeof_stream_item, |     friend gr_block_sptr gnss_sdr_make_valve(size_t sizeof_stream_item, | ||||||
|   | |||||||
| @@ -7,7 +7,7 @@ | |||||||
|  * |  * | ||||||
|  * ------------------------------------------------------------------------- |  * ------------------------------------------------------------------------- | ||||||
|  * |  * | ||||||
|  * Copyright (C) 2010-2012  (see AUTHORS file for a list of contributors) |  * Copyright (C) 2010-2013  (see AUTHORS file for a list of contributors) | ||||||
|  * |  * | ||||||
|  * GNSS-SDR is a software defined Global Navigation |  * GNSS-SDR is a software defined Global Navigation | ||||||
|  *          Satellite Systems receiver |  *          Satellite Systems receiver | ||||||
| @@ -54,9 +54,9 @@ FileSignalSource::FileSignalSource(ConfigurationInterface* configuration, | |||||||
|         gr_msg_queue_sptr queue) : |         gr_msg_queue_sptr queue) : | ||||||
| 		        role_(role), in_streams_(in_streams), out_streams_(out_streams), queue_(queue) | 		        role_(role), in_streams_(in_streams), out_streams_(out_streams), queue_(queue) | ||||||
| { | { | ||||||
| 	std::string default_filename = "../data/sc2_d16.dat"; |     std::string default_filename = "../data/my_capture.dat"; | ||||||
|     std::string default_item_type = "short"; |     std::string default_item_type = "short"; | ||||||
| 	std::string default_dump_filename = "../data/sc2_d16.dat"; |     std::string default_dump_filename = "../data/my_capture.dat"; | ||||||
|  |  | ||||||
|     samples_ = configuration->property(role + ".samples", 0); |     samples_ = configuration->property(role + ".samples", 0); | ||||||
|     sampling_frequency_ = configuration->property(role + ".sampling_frequency", 0); |     sampling_frequency_ = configuration->property(role + ".sampling_frequency", 0); | ||||||
| @@ -119,15 +119,17 @@ FileSignalSource::FileSignalSource(ConfigurationInterface* configuration, | |||||||
|     if (samples_ == 0) // read all file |     if (samples_ == 0) // read all file | ||||||
|         { |         { | ||||||
|             /*! |             /*! | ||||||
| 		 * BUG workaround: The GNURadio file source does not stop the receiver after reaching the End of File. |              * BUG workaround: The GNU Radio file source does not stop the receiver after reaching the End of File. | ||||||
|              * A possible solution is to compute the file length in samples using file size, excluding the last 100 milliseconds, and enable always the |              * A possible solution is to compute the file length in samples using file size, excluding the last 100 milliseconds, and enable always the | ||||||
|              * valve block |              * valve block | ||||||
|              */ |              */ | ||||||
|             std::ifstream file (filename_.c_str(), std::ios::in | std::ios::binary | std::ios::ate); |             std::ifstream file (filename_.c_str(), std::ios::in | std::ios::binary | std::ios::ate); | ||||||
|             std::ifstream::pos_type size; |             std::ifstream::pos_type size; | ||||||
|  |  | ||||||
|             if (file.is_open()) |             if (file.is_open()) | ||||||
|                 { |                 { | ||||||
|                     size = file.tellg(); |                     size = file.tellg(); | ||||||
|  |                     DLOG(INFO) << "Total samples in the file= " << floor((double)size / (double)item_size()); | ||||||
|                 } |                 } | ||||||
|             else |             else | ||||||
|                 { |                 { | ||||||
| @@ -136,6 +138,7 @@ FileSignalSource::FileSignalSource(ConfigurationInterface* configuration, | |||||||
|                 } |                 } | ||||||
|             std::cout << std::setprecision(16); |             std::cout << std::setprecision(16); | ||||||
|             std::cout << "Processing file " << filename_ << ", which contains " << (double)size << " [bytes]" << std::endl; |             std::cout << "Processing file " << filename_ << ", which contains " << (double)size << " [bytes]" << std::endl; | ||||||
|  |  | ||||||
|             if (size > 0) |             if (size > 0) | ||||||
|                 { |                 { | ||||||
|                     samples_ = floor((double)size / (double)item_size()) - ceil(0.1 * (double)sampling_frequency_); //process all the samples available in the file excluding the last 100 ms |                     samples_ = floor((double)size / (double)item_size()) - ceil(0.1 * (double)sampling_frequency_); //process all the samples available in the file excluding the last 100 ms | ||||||
| @@ -144,22 +147,11 @@ FileSignalSource::FileSignalSource(ConfigurationInterface* configuration, | |||||||
|     CHECK(samples_ > 0) << "File does not contain enough samples to process."; |     CHECK(samples_ > 0) << "File does not contain enough samples to process."; | ||||||
|     double signal_duration_s; |     double signal_duration_s; | ||||||
|     signal_duration_s = (double)samples_ * ( 1 /(double)sampling_frequency_); |     signal_duration_s = (double)samples_ * ( 1 /(double)sampling_frequency_); | ||||||
| 	DLOG(INFO) << "Total samples to be processed= " << samples_ << " GNSS signal duration= " << signal_duration_s << " [s]"; |     DLOG(INFO) << "Total number samples to be processed= " << samples_ << " GNSS signal duration= " << signal_duration_s << " [s]"; | ||||||
|     std::cout << "GNSS signal recorded time to be processed: " << signal_duration_s << " [s]" << std::endl; |     std::cout << "GNSS signal recorded time to be processed: " << signal_duration_s << " [s]" << std::endl; | ||||||
| 	// if samples_ > 0 then enable a flow valve to stop the process after n samples |  | ||||||
| 	//if (samples_ > 0) |  | ||||||
| 	//{ |  | ||||||
|     valve_ = gnss_sdr_make_valve(item_size_, samples_, queue_); |     valve_ = gnss_sdr_make_valve(item_size_, samples_, queue_); | ||||||
|     DLOG(INFO) << "valve(" << valve_->unique_id() << ")"; |     DLOG(INFO) << "valve(" << valve_->unique_id() << ")"; | ||||||
| 	//} |  | ||||||
| 	//else |  | ||||||
| 	//{ |  | ||||||
| 	//	std::cout << "Not enough samples to process." << std::endl; |  | ||||||
| 		// here we should exit the program |  | ||||||
| 		//throw; |  | ||||||
| 		//LOG(FATAL) |  | ||||||
|  |  | ||||||
| 	//} |  | ||||||
|  |  | ||||||
|     if (dump_) |     if (dump_) | ||||||
|         { |         { | ||||||
| @@ -301,8 +293,7 @@ void FileSignalSource::disconnect(gr_top_block_sptr top_block) | |||||||
|  |  | ||||||
| gr_basic_block_sptr FileSignalSource::get_left_block() | gr_basic_block_sptr FileSignalSource::get_left_block() | ||||||
| { | { | ||||||
|   LOG_AT_LEVEL(WARNING) |   LOG_AT_LEVEL(WARNING) << "Left block of a signal source should not be retrieved"; | ||||||
|                         << "Left block of a signal source should not be retrieved"; |  | ||||||
|   return gr_block_sptr(); |   return gr_block_sptr(); | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -45,7 +45,8 @@ | |||||||
| class ConfigurationInterface; | class ConfigurationInterface; | ||||||
|  |  | ||||||
| /*! | /*! | ||||||
|  * \brief This class reads samples from a file. |  * \brief Class that reads signals samples from a file | ||||||
|  |  * and adapts it to a SignalSourceInterface | ||||||
|  */ |  */ | ||||||
| class FileSignalSource: public GNSSBlockInterface | class FileSignalSource: public GNSSBlockInterface | ||||||
| { | { | ||||||
| @@ -59,6 +60,10 @@ public: | |||||||
|     { |     { | ||||||
|         return role_; |         return role_; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     /*! | ||||||
|  |      * \brief Returns "File_Signal_Source". | ||||||
|  |      */ | ||||||
|     std::string implementation() |     std::string implementation() | ||||||
|     { |     { | ||||||
|         return "File_Signal_Source"; |         return "File_Signal_Source"; | ||||||
|   | |||||||
| @@ -53,6 +53,10 @@ public: | |||||||
|     { |     { | ||||||
|         return role_; |         return role_; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     /*! | ||||||
|  |      * \brief Returns "Gn3sSignalSource". | ||||||
|  |      */ | ||||||
|     std::string implementation() |     std::string implementation() | ||||||
|     { |     { | ||||||
|         return "Gn3sSignalSource"; |         return "Gn3sSignalSource"; | ||||||
|   | |||||||
| @@ -45,7 +45,6 @@ class ConfigurationInterface; | |||||||
|  */ |  */ | ||||||
| class RtlsdrSignalSource: public GNSSBlockInterface | class RtlsdrSignalSource: public GNSSBlockInterface | ||||||
| { | { | ||||||
|  |  | ||||||
| public: | public: | ||||||
| 	RtlsdrSignalSource(ConfigurationInterface* configuration, | 	RtlsdrSignalSource(ConfigurationInterface* configuration, | ||||||
|             std::string role, unsigned int in_stream, |             std::string role, unsigned int in_stream, | ||||||
| @@ -57,6 +56,10 @@ public: | |||||||
|     { |     { | ||||||
|         return role_; |         return role_; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     /*! | ||||||
|  |      * \brief Returns "Rtlsdr_Signal_Source" | ||||||
|  |      */ | ||||||
|     std::string implementation() |     std::string implementation() | ||||||
|     { |     { | ||||||
|         return "Rtlsdr_Signal_Source"; |         return "Rtlsdr_Signal_Source"; | ||||||
| @@ -72,7 +75,6 @@ public: | |||||||
|     gr_basic_block_sptr get_right_block(); |     gr_basic_block_sptr get_right_block(); | ||||||
|  |  | ||||||
| private: | private: | ||||||
|  |  | ||||||
|     std::string role_; |     std::string role_; | ||||||
|  |  | ||||||
|     // UHD SETTINGS |     // UHD SETTINGS | ||||||
|   | |||||||
| @@ -56,6 +56,10 @@ public: | |||||||
|     { |     { | ||||||
|         return role_; |         return role_; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     /*! | ||||||
|  |      * \brief Returns "UHD_Signal_Source" | ||||||
|  |      */ | ||||||
|     std::string implementation() |     std::string implementation() | ||||||
|     { |     { | ||||||
|         return "UHD_Signal_Source"; |         return "UHD_Signal_Source"; | ||||||
|   | |||||||
| @@ -56,6 +56,8 @@ public: | |||||||
|     { |     { | ||||||
|         return role_; |         return role_; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     //! Returns "GPS_L1_CA_Telemetry_Decoder" | ||||||
|     std::string implementation() |     std::string implementation() | ||||||
|     { |     { | ||||||
|         return "GPS_L1_CA_Telemetry_Decoder"; |         return "GPS_L1_CA_Telemetry_Decoder"; | ||||||
| @@ -65,11 +67,11 @@ public: | |||||||
|     gr_basic_block_sptr get_left_block(); |     gr_basic_block_sptr get_left_block(); | ||||||
|     gr_basic_block_sptr get_right_block(); |     gr_basic_block_sptr get_right_block(); | ||||||
|     void set_satellite(Gnss_Satellite satellite); |     void set_satellite(Gnss_Satellite satellite); | ||||||
|     void set_channel(int channel){telemetry_decoder_->set_channel(channel);}; |     void set_channel(int channel){telemetry_decoder_->set_channel(channel);} | ||||||
|     void reset() |     void reset() | ||||||
|     { |     { | ||||||
|         return; |         return; | ||||||
|     }; |     } | ||||||
|     size_t item_size() |     size_t item_size() | ||||||
|     { |     { | ||||||
|         return 0; |         return 0; | ||||||
|   | |||||||
| @@ -64,6 +64,8 @@ public: | |||||||
|     { |     { | ||||||
|         return role_; |         return role_; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     //! Returns "Galileo_E1_DLL_PLL_VEML_Tracking" | ||||||
|     std::string implementation() |     std::string implementation() | ||||||
|     { |     { | ||||||
|         return "Galileo_E1_DLL_PLL_VEML_Tracking"; |         return "Galileo_E1_DLL_PLL_VEML_Tracking"; | ||||||
|   | |||||||
| @@ -65,7 +65,7 @@ public: | |||||||
|     { |     { | ||||||
|         return role_; |         return role_; | ||||||
|     } |     } | ||||||
|     //! returns "Galileo_E1_TCP_CONNECTOR_Tracking" |     //! Returns "Galileo_E1_TCP_CONNECTOR_Tracking" | ||||||
|     std::string implementation() |     std::string implementation() | ||||||
|     { |     { | ||||||
|         return "Galileo_E1_TCP_CONNECTOR_Tracking"; |         return "Galileo_E1_TCP_CONNECTOR_Tracking"; | ||||||
|   | |||||||
| @@ -62,6 +62,8 @@ public: | |||||||
|     { |     { | ||||||
|         return role_; |         return role_; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     //! Returns "GPS_L1_CA_DLL_FLL_PLL_Tracking" | ||||||
|     std::string implementation() |     std::string implementation() | ||||||
|     { |     { | ||||||
|         return "GPS_L1_CA_DLL_FLL_PLL_Tracking"; |         return "GPS_L1_CA_DLL_FLL_PLL_Tracking"; | ||||||
|   | |||||||
| @@ -65,6 +65,8 @@ public: | |||||||
|     { |     { | ||||||
|         return role_; |         return role_; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     //! Returns "GPS_L1_CA_DLL_PLL_Optim_Tracking" | ||||||
|     std::string implementation() |     std::string implementation() | ||||||
|     { |     { | ||||||
|         return "GPS_L1_CA_DLL_PLL_Optim_Tracking"; |         return "GPS_L1_CA_DLL_PLL_Optim_Tracking"; | ||||||
|   | |||||||
| @@ -64,6 +64,8 @@ public: | |||||||
|     { |     { | ||||||
|         return role_; |         return role_; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     //! Returns "GPS_L1_CA_DLL_PLL_Tracking" | ||||||
|     std::string implementation() |     std::string implementation() | ||||||
|     { |     { | ||||||
|         return "GPS_L1_CA_DLL_PLL_Tracking"; |         return "GPS_L1_CA_DLL_PLL_Tracking"; | ||||||
|   | |||||||
| @@ -64,6 +64,8 @@ public: | |||||||
|     { |     { | ||||||
|         return role_; |         return role_; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     //! Returns "GPS_L1_CA_TCP_CONNECTOR_Tracking" | ||||||
|     std::string implementation() |     std::string implementation() | ||||||
|     { |     { | ||||||
|         return "GPS_L1_CA_TCP_CONNECTOR_Tracking"; |         return "GPS_L1_CA_TCP_CONNECTOR_Tracking"; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Carles Fernandez
					Carles Fernandez