From 371c6e090646c28c853013161275f1aaf528225a Mon Sep 17 00:00:00 2001 From: Jared Boone Date: Wed, 27 Jul 2016 14:42:46 -0700 Subject: [PATCH] ReceiverModel: Eliminate now-redundant BasebandConfiguration. --- firmware/application/analog_audio_app.cpp | 7 ++--- firmware/application/receiver_model.cpp | 21 +++++++++------ firmware/application/receiver_model.hpp | 33 ++++------------------- 3 files changed, 20 insertions(+), 41 deletions(-) diff --git a/firmware/application/analog_audio_app.cpp b/firmware/application/analog_audio_app.cpp index 872a57c2..9a0d7175 100644 --- a/firmware/application/analog_audio_app.cpp +++ b/firmware/application/analog_audio_app.cpp @@ -286,11 +286,8 @@ void AnalogAudioView::update_modulation(const ReceiverModel::Mode modulation) { baseband::run_image(image_tag); const auto is_wideband_spectrum_mode = (modulation == ReceiverModel::Mode::SpectrumAnalysis); - receiver_model.set_baseband_configuration({ - .mode = toUType(modulation), - .sampling_rate = is_wideband_spectrum_mode ? 20000000U : 3072000U, - .decimation_factor = 1, - }); + receiver_model.set_modulation(toUType(modulation)); + receiver_model.set_sampling_rate(is_wideband_spectrum_mode ? 20000000 : 3072000); receiver_model.set_baseband_bandwidth(is_wideband_spectrum_mode ? 12000000 : 1750000); receiver_model.enable(); diff --git a/firmware/application/receiver_model.cpp b/firmware/application/receiver_model.cpp index 3d1e023f..f807129e 100644 --- a/firmware/application/receiver_model.cpp +++ b/firmware/application/receiver_model.cpp @@ -116,11 +116,21 @@ void ReceiverModel::set_vga(int32_t v_db) { } uint32_t ReceiverModel::sampling_rate() const { - return baseband_configuration.sampling_rate; + return sampling_rate_; +} + +void ReceiverModel::set_sampling_rate(uint32_t v) { + sampling_rate_ = v; + update_sampling_rate(); } uint32_t ReceiverModel::modulation() const { - return baseband_configuration.mode; + return mode_; +} + +void ReceiverModel::set_modulation(const uint32_t v) { + mode_ = v; + update_modulation(); } volume_t ReceiverModel::headphone_volume() const { @@ -134,7 +144,7 @@ void ReceiverModel::set_headphone_volume(volume_t v) { uint32_t ReceiverModel::baseband_oversampling() const { // TODO: Rename decimation_factor. - return baseband_configuration.decimation_factor; + return decimation_factor_; } void ReceiverModel::enable() { @@ -192,11 +202,6 @@ void ReceiverModel::update_vga() { radio::set_vga_gain(vga_gain_db_); } -void ReceiverModel::set_baseband_configuration(const BasebandConfiguration config) { - baseband_configuration = config; - update_baseband_configuration(); -} - void ReceiverModel::set_am_configuration(const size_t n) { if( n < am_configs.size() ) { am_config_index = n; diff --git a/firmware/application/receiver_model.hpp b/firmware/application/receiver_model.hpp index ce0d6f3a..d4ab71b2 100644 --- a/firmware/application/receiver_model.hpp +++ b/firmware/application/receiver_model.hpp @@ -30,27 +30,6 @@ #include "max2837.hpp" #include "volume.hpp" -struct BasebandConfiguration { - int32_t mode; - uint32_t sampling_rate; - size_t decimation_factor; - - constexpr BasebandConfiguration( - int32_t mode, - uint32_t sampling_rate, - size_t decimation_factor = 1 - ) : mode { mode }, - sampling_rate { sampling_rate }, - decimation_factor { decimation_factor } - { - } - - constexpr BasebandConfiguration( - ) : BasebandConfiguration { -1, 0, 1 } - { - } -}; - class ReceiverModel { public: enum class Mode : int32_t { @@ -83,8 +62,10 @@ public: void set_vga(int32_t v_db); uint32_t sampling_rate() const; + void set_sampling_rate(uint32_t v); uint32_t modulation() const; + void set_modulation(uint32_t v); volume_t headphone_volume() const; void set_headphone_volume(volume_t v); @@ -94,8 +75,6 @@ public: void enable(); void disable(); - void set_baseband_configuration(const BasebandConfiguration config); - size_t am_configuration() const; void set_am_configuration(const size_t n); @@ -113,11 +92,9 @@ private: int32_t lna_gain_db_ { 32 }; uint32_t baseband_bandwidth_ { max2837::filter::bandwidth_minimum }; int32_t vga_gain_db_ { 32 }; - BasebandConfiguration baseband_configuration { - .mode = 1, /* TODO: Enum! */ - .sampling_rate = 3072000, - .decimation_factor = 1, - }; + uint32_t mode_ { 1 }; + uint32_t sampling_rate_ { 3072000 }; + size_t decimation_factor_ { 1 }; size_t am_config_index = 0; size_t nbfm_config_index = 0; size_t wfm_config_index = 0;