From c5f8daa21022ed2cf1c1e1fe719247de218693f5 Mon Sep 17 00:00:00 2001 From: Jared Boone Date: Mon, 1 Feb 2016 09:12:55 -0800 Subject: [PATCH] Restore use of ReceiverModel::Mode enum. --- firmware/application/analog_audio_app.cpp | 36 ++++++++++------------- firmware/application/analog_audio_app.hpp | 10 +++---- 2 files changed, 20 insertions(+), 26 deletions(-) diff --git a/firmware/application/analog_audio_app.cpp b/firmware/application/analog_audio_app.cpp index 47cfb8141..3050da55c 100644 --- a/firmware/application/analog_audio_app.cpp +++ b/firmware/application/analog_audio_app.cpp @@ -149,10 +149,9 @@ AnalogAudioView::AnalogAudioView( this->on_vga_changed(v_db); }; - options_modulation.set_by_value(1); - options_modulation.on_change = [this](size_t n, OptionsField::value_t v) { - (void)n; - this->on_modulation_changed(v); + options_modulation.set_by_value(toUType(ReceiverModel::Mode::AMAudio)); + options_modulation.on_change = [this](size_t, OptionsField::value_t v) { + this->on_modulation_changed(static_cast(v)); }; field_volume.set_value((receiver_model.headphone_volume() - wolfson::wm8731::headphone_gain_range.max).decibel() + 99); @@ -229,63 +228,58 @@ void AnalogAudioView::on_vga_changed(int32_t v_db) { receiver_model.set_vga(v_db); } -void AnalogAudioView::on_modulation_changed(int32_t mode) { - // remove_child(widget_content.get()); - // widget_content.reset(); - +void AnalogAudioView::on_modulation_changed(const ReceiverModel::Mode mode) { // TODO: Terrible kludge because widget system doesn't notify Waterfall that // it's being shown or hidden. waterfall.on_hide(); switch(mode) { default: - case 1: + case ReceiverModel::Mode::AMAudio: receiver_model.set_baseband_configuration({ - .mode = toUType(ReceiverModel::Mode::AMAudio), + .mode = toUType(mode), .sampling_rate = 3072000, .decimation_factor = 1, }); receiver_model.set_baseband_bandwidth(1750000); receiver_model.enable(); model.configure_am(0); - waterfall.on_show(); break; - case 2: + case ReceiverModel::Mode::NarrowbandFMAudio: receiver_model.set_baseband_configuration({ - .mode = toUType(ReceiverModel::Mode::NarrowbandFMAudio), + .mode = toUType(mode), .sampling_rate = 3072000, .decimation_factor = 1, }); receiver_model.set_baseband_bandwidth(1750000); receiver_model.enable(); - model.configure_nbfm(1); - waterfall.on_show(); + model.configure_nbfm(0); break; - case 3: + case ReceiverModel::Mode::WidebandFMAudio: receiver_model.set_baseband_configuration({ - .mode = toUType(ReceiverModel::Mode::WidebandFMAudio), + .mode = toUType(mode), .sampling_rate = 3072000, .decimation_factor = 1, }); receiver_model.set_baseband_bandwidth(1750000); receiver_model.enable(); model.configure_wfm(); - waterfall.on_show(); break; - case 4: + case ReceiverModel::Mode::SpectrumAnalysis: receiver_model.set_baseband_configuration({ - .mode = 4, + .mode = toUType(mode), .sampling_rate = 20000000, .decimation_factor = 1, }); receiver_model.set_baseband_bandwidth(12000000); receiver_model.enable(); - waterfall.on_show(); break; } + + waterfall.on_show(); } void AnalogAudioView::on_show_options_frequency() { diff --git a/firmware/application/analog_audio_app.hpp b/firmware/application/analog_audio_app.hpp index 7a1920dd9..8c52ba22f 100644 --- a/firmware/application/analog_audio_app.hpp +++ b/firmware/application/analog_audio_app.hpp @@ -93,10 +93,10 @@ private: { 0 * 8, 0 * 16 }, 4, { - { " AM ", 1 }, - { "NFM ", 2 }, - { "WFM ", 3 }, - { "SPEC", 4 }, + { " AM ", toUType(ReceiverModel::Mode::AMAudio) }, + { "NFM ", toUType(ReceiverModel::Mode::NarrowbandFMAudio) }, + { "WFM ", toUType(ReceiverModel::Mode::WidebandFMAudio) }, + { "SPEC", toUType(ReceiverModel::Mode::SpectrumAnalysis) }, } }; @@ -135,7 +135,7 @@ private: void on_rf_amp_changed(bool v); void on_lna_changed(int32_t v_db); void on_vga_changed(int32_t v_db); - void on_modulation_changed(int32_t v); + void on_modulation_changed(const ReceiverModel::Mode mode); void on_show_options_frequency(); void on_show_options_rf_gain(); void on_frequency_step_changed(rf::Frequency f);