mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2025-02-15 10:30:09 +00:00
Setting AGC mode
This commit is contained in:
parent
1b0dd9e063
commit
6d16921845
@ -94,19 +94,20 @@ RtlTcpSignalSource::RtlTcpSignalSource(ConfigurationInterface* configuration,
|
||||
// 3. set rx frequency
|
||||
signal_source_->set_frequency(freq_);
|
||||
|
||||
// 4. set rx gain
|
||||
// TODO set rx gain
|
||||
signal_source_->set_agc_mode(true);
|
||||
|
||||
/*if (this->AGC_enabled_ == true)
|
||||
{
|
||||
osmosdr_source_->set_gain_mode(true);
|
||||
signal_source_->set_agc_mode(true);
|
||||
std::cout << "AGC enabled" << std::endl;
|
||||
LOG(INFO) << "AGC enabled";
|
||||
}
|
||||
else
|
||||
{
|
||||
osmosdr_source_->set_gain_mode(false);
|
||||
osmosdr_source_->set_gain(gain_, 0);
|
||||
osmosdr_source_->set_if_gain(if_gain_, 0);
|
||||
osmosdr_source_->set_bb_gain(rf_gain_, 0);
|
||||
signal_source_->set_agc_mode(false);
|
||||
signal_source_->set_gain(gain_, 0);
|
||||
signal_source_->set_if_gain(if_gain_, 0);
|
||||
}*/
|
||||
}
|
||||
else
|
||||
|
@ -46,7 +46,11 @@ enum {
|
||||
// command ids
|
||||
enum {
|
||||
CMD_ID_SET_FREQUENCY = 1,
|
||||
CMD_ID_SET_SAMPLE_RATE = 2
|
||||
CMD_ID_SET_SAMPLE_RATE = 2,
|
||||
CMD_ID_SET_GAIN_MODE = 3,
|
||||
CMD_ID_SET_GAIN = 4,
|
||||
CMD_ID_SET_IF_GAIN = 6,
|
||||
CMD_ID_SET_AGC_MODE = 8
|
||||
};
|
||||
|
||||
// rtl_tcp command
|
||||
@ -87,6 +91,24 @@ struct set_sample_rate_command : command {
|
||||
}
|
||||
};
|
||||
|
||||
// set gain mode command
|
||||
struct set_gain_mode_command : command {
|
||||
set_gain_mode_command (bool manual)
|
||||
: command (CMD_ID_SET_GAIN_MODE, static_cast<unsigned int>( manual ))
|
||||
{
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
// set agc mode command
|
||||
struct set_agc_mode_command : command {
|
||||
set_agc_mode_command (bool manual)
|
||||
: command (CMD_ID_SET_AGC_MODE, static_cast<unsigned int>( manual ))
|
||||
{
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
rtl_tcp_signal_source_c_sptr
|
||||
rtl_tcp_make_signal_source_c(const std::string &address,
|
||||
short port)
|
||||
@ -181,6 +203,22 @@ void rtl_tcp_signal_source_c::set_sample_rate (int sample_rate) {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void rtl_tcp_signal_source_c::set_agc_mode (bool agc) {
|
||||
boost::system::error_code ec =
|
||||
set_gain_mode_command (!agc).send (socket_);
|
||||
if (ec) {
|
||||
std::cout << "Failed to set gain mode" << std::endl;
|
||||
LOG (WARNING) << "Failed to set gain mode";
|
||||
}
|
||||
ec =
|
||||
set_agc_mode_command (agc).send (socket_);
|
||||
if (ec) {
|
||||
std::cout << "Failed to set gain mode" << std::endl;
|
||||
LOG (WARNING) << "Failed to set gain mode";
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
rtl_tcp_signal_source_c::handle_read (const boost::system::error_code &ec,
|
||||
size_t bytes_transferred)
|
||||
|
@ -70,7 +70,8 @@ public:
|
||||
|
||||
void set_frequency (int frequency);
|
||||
void set_sample_rate (int sample_rate);
|
||||
|
||||
void set_agc_mode (bool agc);
|
||||
|
||||
private:
|
||||
typedef boost::circular_buffer_space_optimized<float> buffer_type;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user