From ef9b4051b78bbac5e28551132f0a24da188b2fa3 Mon Sep 17 00:00:00 2001 From: Jared Boone Date: Wed, 3 Aug 2016 16:13:54 -0700 Subject: [PATCH] Expose TX gain on ReceiverModel. Obviously, ReceiverModel is an even worse name/concept than it was before. --- firmware/application/receiver_model.cpp | 14 ++++++++++++++ firmware/application/receiver_model.hpp | 5 +++++ 2 files changed, 19 insertions(+) diff --git a/firmware/application/receiver_model.cpp b/firmware/application/receiver_model.cpp index 35059f5c7..b5796c38e 100644 --- a/firmware/application/receiver_model.cpp +++ b/firmware/application/receiver_model.cpp @@ -115,6 +115,15 @@ void ReceiverModel::set_vga(int32_t v_db) { update_vga(); } +int32_t ReceiverModel::tx_gain() const { + return tx_gain_db_; +} + +void ReceiverModel::set_tx_gain(int32_t v_db) { + tx_gain_db_ = v_db; + update_tx_gain(); +} + uint32_t ReceiverModel::sampling_rate() const { return sampling_rate_; } @@ -155,6 +164,7 @@ void ReceiverModel::enable() { update_rf_amp(); update_lna(); update_vga(); + update_tx_gain(); update_baseband_bandwidth(); update_sampling_rate(); update_modulation(); @@ -202,6 +212,10 @@ void ReceiverModel::update_vga() { radio::set_vga_gain(vga_gain_db_); } +void ReceiverModel::update_tx_gain() { + radio::set_tx_gain(tx_gain_db_); +} + 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 d103c4c81..4499e9fef 100644 --- a/firmware/application/receiver_model.hpp +++ b/firmware/application/receiver_model.hpp @@ -60,6 +60,9 @@ public: int32_t vga() const; void set_vga(int32_t v_db); + int32_t tx_gain() const; + void set_tx_gain(int32_t v_db); + uint32_t sampling_rate() const; void set_sampling_rate(uint32_t v); @@ -91,6 +94,7 @@ private: int32_t lna_gain_db_ { 32 }; uint32_t baseband_bandwidth_ { max2837::filter::bandwidth_minimum }; int32_t vga_gain_db_ { 32 }; + int32_t tx_gain_db_ { 47 }; Mode mode_ { Mode::NarrowbandFMAudio }; uint32_t sampling_rate_ { 3072000 }; size_t decimation_factor_ { 1 }; @@ -107,6 +111,7 @@ private: void update_lna(); void update_baseband_bandwidth(); void update_vga(); + void update_tx_gain(); void update_sampling_rate(); void update_headphone_volume();