diff --git a/firmware/application/radio.cpp b/firmware/application/radio.cpp index b58222c5..1223e291 100644 --- a/firmware/application/radio.cpp +++ b/firmware/application/radio.cpp @@ -148,6 +148,10 @@ void set_baseband_filter_bandwidth(const uint32_t bandwidth_minimum) { second_if.set_lpf_rf_bandwidth(bandwidth_minimum); } +void set_baseband_rate(const uint32_t rate) { + portapack::clock_manager.set_sampling_frequency(rate); +} + void set_baseband_decimation_by(const size_t n) { baseband_cpld.set_decimation_by(n); } diff --git a/firmware/application/radio.hpp b/firmware/application/radio.hpp index 715fd0d5..1be95b00 100644 --- a/firmware/application/radio.hpp +++ b/firmware/application/radio.hpp @@ -41,6 +41,7 @@ void set_lna_gain(const int_fast8_t db); void set_vga_gain(const int_fast8_t db); void set_sampling_frequency(const uint32_t frequency); void set_baseband_filter_bandwidth(const uint32_t bandwidth_minimum); +void set_baseband_rate(const uint32_t rate); void set_baseband_decimation_by(const size_t n); void set_antenna_bias(const bool on); diff --git a/firmware/application/receiver_model.cpp b/firmware/application/receiver_model.cpp index 89e43eb7..f2658ade 100644 --- a/firmware/application/receiver_model.cpp +++ b/firmware/application/receiver_model.cpp @@ -304,7 +304,7 @@ void ReceiverModel::update_baseband_configuration() { // Disabling baseband while changing sampling rates seems like a good idea... baseband_disable(); - clock_manager.set_sampling_frequency(sampling_rate() * baseband_oversampling()); + radio::set_baseband_rate(sampling_rate() * baseband_oversampling()); update_tuning_frequency(); radio::set_baseband_decimation_by(baseband_oversampling());