From a7acb37a563415f0ee0bc85b785a9a9014edc7d2 Mon Sep 17 00:00:00 2001 From: GullCode Date: Mon, 13 Mar 2023 14:02:29 +0100 Subject: [PATCH 01/10] added 0.1 and 1Khz steps --- firmware/application/freqman.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/firmware/application/freqman.cpp b/firmware/application/freqman.cpp index 467782e3..413388c3 100644 --- a/firmware/application/freqman.cpp +++ b/firmware/application/freqman.cpp @@ -51,6 +51,8 @@ options_t freqman_entry_bandwidths[ 4 ] = { }; options_t freqman_entry_steps = { + { "0.1KHz " , 100 }, + { "1KHz " , 1000 }, { "5KHz (SA AM)" , 5000 }, { "6.25KHz(NFM)" , 6250 }, { "8.33KHz(AIR)" , 8330 }, @@ -68,6 +70,8 @@ options_t freqman_entry_steps = { }; options_t freqman_entry_steps_short = { + { "0.1KHz" , 100 }, + { "1KHz" , 1000 }, { "5KHz" , 5000 }, { "6.25KHz" , 6250 }, { "8.33KHz" , 8330 }, From f42812c6b4f29fa9656fd56ad7e913289e91d8ec Mon Sep 17 00:00:00 2001 From: GullCode Date: Mon, 13 Mar 2023 14:03:37 +0100 Subject: [PATCH 02/10] Added rssi get_delta, better rssi min graph view --- firmware/application/ui/ui_rssi.cpp | 19 ++++++++++++++----- firmware/application/ui/ui_rssi.hpp | 1 + 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/firmware/application/ui/ui_rssi.cpp b/firmware/application/ui/ui_rssi.cpp index 674279da..8c4f483a 100644 --- a/firmware/application/ui/ui_rssi.cpp +++ b/firmware/application/ui/ui_rssi.cpp @@ -36,10 +36,11 @@ namespace ui { const auto r = screen_rect(); constexpr int rssi_sample_range = 256; - constexpr float rssi_voltage_min = 0.4; + //constexpr float rssi_voltage_min = 0.4; constexpr float rssi_voltage_max = 2.2; constexpr float adc_voltage_max = 3.3; - constexpr int raw_min = rssi_sample_range * rssi_voltage_min / adc_voltage_max; + //constexpr int raw_min = rssi_sample_range * rssi_voltage_min / adc_voltage_max; + constexpr int raw_min = 0 ; constexpr int raw_max = rssi_sample_range * rssi_voltage_max / adc_voltage_max; constexpr int raw_delta = raw_max - raw_min; @@ -178,6 +179,12 @@ namespace ui { return max_ ; } + int32_t RSSI::get_delta() + { + return max_ - min_ ; + } + + void RSSI::set_pitch_rssi(bool enabled) { pitch_rssi_enabled = enabled; if (!enabled) baseband::set_pitch_rssi(0, false); @@ -272,7 +279,7 @@ namespace ui { painter.draw_vline( p4, width_y, - Color::green()); + Color::green() ); } } @@ -281,10 +288,11 @@ namespace ui { const auto r = screen_rect(); constexpr int rssi_sample_range = 256; - constexpr float rssi_voltage_min = 0.4; + //constexpr float rssi_voltage_min = 0.4; constexpr float rssi_voltage_max = 2.2; constexpr float adc_voltage_max = 3.3; - constexpr int raw_min = rssi_sample_range * rssi_voltage_min / adc_voltage_max; + //constexpr int raw_min = rssi_sample_range * rssi_voltage_min / adc_voltage_max; + constexpr int raw_min = 0 ; constexpr int raw_max = rssi_sample_range * rssi_voltage_max / adc_voltage_max; constexpr int raw_delta = raw_max - raw_min; @@ -308,4 +316,5 @@ namespace ui { } set_dirty(); } + } /* namespace ui */ diff --git a/firmware/application/ui/ui_rssi.hpp b/firmware/application/ui/ui_rssi.hpp index f7783529..f3062e44 100644 --- a/firmware/application/ui/ui_rssi.hpp +++ b/firmware/application/ui/ui_rssi.hpp @@ -49,6 +49,7 @@ public: int32_t get_min(); int32_t get_avg(); int32_t get_max(); + int32_t get_delta(); void set_vertical_rssi(bool enabled); void set_peak(bool enabled, size_t duration); From 37494500b25943043b4a5781c31334330495e176 Mon Sep 17 00:00:00 2001 From: GullCode Date: Mon, 13 Mar 2023 14:04:23 +0100 Subject: [PATCH 03/10] Added display of rssi get delta, swapped audio and steps button for convenience --- firmware/application/apps/ui_level.cpp | 2 +- firmware/application/apps/ui_level.hpp | 18 ++++++++---------- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/firmware/application/apps/ui_level.cpp b/firmware/application/apps/ui_level.cpp index 2c5e2a42..51cb98cc 100644 --- a/firmware/application/apps/ui_level.cpp +++ b/firmware/application/apps/ui_level.cpp @@ -215,7 +215,7 @@ namespace ui { last_min_rssi = rssi.get_min(); last_avg_rssi = rssi.get_avg(); last_max_rssi = rssi.get_max(); - freq_stats_rssi.set( "RSSI: "+to_string_dec_int( rssi.get_min() )+"/"+to_string_dec_int( rssi.get_avg() )+"/"+to_string_dec_int( rssi.get_max() )+" db" ); + freq_stats_rssi.set( "RSSI: "+to_string_dec_int( rssi.get_min() )+"/"+to_string_dec_int( rssi.get_avg() )+"/"+to_string_dec_int( rssi.get_max() )+" db, dt: "+to_string_dec_int( rssi.get_delta() )+" db" ); } } /* on_statistic_updates */ diff --git a/firmware/application/apps/ui_level.hpp b/firmware/application/apps/ui_level.hpp index 25473e4d..e4c573bd 100644 --- a/firmware/application/apps/ui_level.hpp +++ b/firmware/application/apps/ui_level.hpp @@ -47,10 +47,8 @@ namespace ui { ~LevelView(); void focus() override; - - void big_display_freq( int64_t f ); - void on_audio_spectrum(const AudioSpectrum* spectrum); + void big_display_freq( int64_t f ); const Style style_grey { // level .font = font::fixed_8x16, @@ -143,18 +141,18 @@ namespace ui { }; OptionsField step_mode { - { 21 * 8, 1 * 16 }, + { 16 * 8, 2 * 16 + 4 }, 12, { } }; - + RSSIGraph rssi_graph { // 240x320 => - { 0 , 5 * 16 + 4 , 240 - 5 * 8 , 320 - 5 * 16 - 4 }, + { 0 , 5 * 16 + 4 , 240 - 5 * 8 , 216 }, }; - RSSI rssi { // 240x320 => - { 240 - 5 * 8 , 5 * 16 + 4 , 5 * 8 , 320 - 5 * 16 - 4 }, + RSSI rssi { // 240x320 => + { 240 - 5 * 8 , 5 * 16 + 4 , 5 * 8 , 216 }, }; @@ -164,7 +162,7 @@ namespace ui { }; OptionsField audio_mode { - { 16 * 8, 2 * 16 + 4 }, + { 21 * 8, 1 * 16 }, 9, { {"audio off", 0}, @@ -188,7 +186,7 @@ namespace ui { { 0 * 8 , 4 * 16 + 4 , 15 * 8, 16 }, }; - + OptionsField peak_mode { { 44 + 10 * 8, 4 * 16 + 4 }, 10, From 37cfcb0d5c513c0bdda09077f1bca6c9cfdbda27 Mon Sep 17 00:00:00 2001 From: GullCode Date: Mon, 13 Mar 2023 22:55:48 +0100 Subject: [PATCH 04/10] added focusable ability to rssi field --- firmware/application/ui/ui_rssi.cpp | 47 +++++++++ firmware/application/ui/ui_rssi.hpp | 148 +++++++++++++++------------- 2 files changed, 125 insertions(+), 70 deletions(-) diff --git a/firmware/application/ui/ui_rssi.cpp b/firmware/application/ui/ui_rssi.cpp index 8c4f483a..1cfc2d0f 100644 --- a/firmware/application/ui/ui_rssi.cpp +++ b/firmware/application/ui/ui_rssi.cpp @@ -162,6 +162,14 @@ namespace ui { if (pitch_rssi_enabled) { baseband::set_pitch_rssi((avg_ - raw_min) * 2000 / raw_delta, true); } + if( has_focus() || highlighted() ) + { + const Rect r6 { r.left(), r.top(), r.width(), r.height() }; + painter.draw_rectangle( + r6, + Color::white() + ); + } } int32_t RSSI::get_min() @@ -317,4 +325,43 @@ namespace ui { set_dirty(); } + void RSSI::on_focus() { + if( on_highlight ) + on_highlight(*this); + } + + bool RSSI::on_key(const KeyEvent key) { + if( key == KeyEvent::Select ) { + if( on_select ) { + on_select(*this); + return true; + } + } else { + if( on_dir ) { + return on_dir(*this, key); + } + } + return false; + } + + bool RSSI::on_touch(const TouchEvent event) { + switch(event.type) { + case TouchEvent::Type::Start: + set_highlighted(true); + set_dirty(); + if( on_touch_press) { + on_touch_press(*this); + } + return true; + case TouchEvent::Type::End: + set_highlighted(false); + set_dirty(); + if( on_touch_release) { + on_touch_release(*this); + } + return true; + default: + return false; + } + } } /* namespace ui */ diff --git a/firmware/application/ui/ui_rssi.hpp b/firmware/application/ui/ui_rssi.hpp index f3062e44..bd64244f 100644 --- a/firmware/application/ui/ui_rssi.hpp +++ b/firmware/application/ui/ui_rssi.hpp @@ -25,88 +25,96 @@ #include "ui.hpp" #include "ui_widget.hpp" #include "ui_painter.hpp" - #include "event_m0.hpp" - #include "message.hpp" - #include namespace ui { -class RSSI : public Widget { -public: - RSSI( - const Rect parent_rect - ) : Widget { parent_rect }, - min_ { 0 }, - avg_ { 0 }, - max_ { 0 } - { - } + class RSSI : public Widget { + public: + std::function on_select { }; + std::function on_touch_release { }; // Executed when releasing touch, after on_select. + std::function on_touch_press { }; // Executed when touching, before on_select. + std::function on_dir { }; + std::function on_highlight { }; - void paint(Painter& painter) override; - int32_t get_min(); - int32_t get_avg(); - int32_t get_max(); - int32_t get_delta(); - void set_vertical_rssi(bool enabled); - void set_peak(bool enabled, size_t duration); - -private: - int32_t min_; - int32_t avg_; - int32_t max_; - int32_t peak_ = 0 ; - size_t peak_duration_ = 0 ; - - bool pitch_rssi_enabled = false; - bool vertical_rssi_enabled = false; // scale [vertically/from bottom to top] - // instead of [horizontally/from left to right] - bool peak_enabled = false; - size_t peak_duration = 1000; // peak duration in msec before being reset to actual max_rssi + RSSI( + const Rect parent_rect + ) : Widget { parent_rect }, + min_ { 0 }, + avg_ { 0 }, + max_ { 0 } + { + } - MessageHandlerRegistration message_handler_stats { - Message::ID::RSSIStatistics, - [this](const Message* const p) { - this->on_statistics_update(static_cast(p)->statistics); - } - }; - - MessageHandlerRegistration message_handler_pitch_rssi { - Message::ID::PitchRSSIConfigure, - [this](const Message* const p) { - const auto message = *reinterpret_cast(p); - this->set_pitch_rssi(message.enabled); - } - }; + int32_t get_min(); + int32_t get_avg(); + int32_t get_max(); + int32_t get_delta(); + void set_vertical_rssi(bool enabled); + void set_peak(bool enabled, size_t duration); + + void paint(Painter& painter) override; + void on_focus() override; + bool on_key(const KeyEvent key) override; + bool on_touch(const TouchEvent event) override; - void on_statistics_update(const RSSIStatistics& statistics); - void set_pitch_rssi(bool enabled); -}; + private: + int32_t min_; + int32_t avg_; + int32_t max_; + int32_t peak_ = 0 ; + size_t peak_duration_ = 0 ; + bool instant_exec_ { false }; -struct RSSIGraph_entry { - int32_t rssi_min { 0 }; - int32_t rssi_avg { 0 }; - int32_t rssi_max { 0 }; - int32_t db { 0 }; -}; + bool pitch_rssi_enabled = false; + bool vertical_rssi_enabled = false; // scale [vertically/from bottom to top] + // instead of [horizontally/from left to right] + bool peak_enabled = false; + size_t peak_duration = 1000; // peak duration in msec before being reset to actual max_rssi -using RSSIGraphList = std::vector; + MessageHandlerRegistration message_handler_stats { + Message::ID::RSSIStatistics, + [this](const Message* const p) { + this->on_statistics_update(static_cast(p)->statistics); + } + }; -class RSSIGraph : public Widget { -public: - RSSIGraph( - const Rect parent_rect - ) : Widget { parent_rect } - { - } - void paint(Painter& painter) override; - void add_values(int32_t rssi_min, int32_t rssi_avg, int32_t rssi_max, int32_t db ); - -private: - RSSIGraphList graph_list { } ; -}; + MessageHandlerRegistration message_handler_pitch_rssi { + Message::ID::PitchRSSIConfigure, + [this](const Message* const p) { + const auto message = *reinterpret_cast(p); + this->set_pitch_rssi(message.enabled); + } + }; + + void on_statistics_update(const RSSIStatistics& statistics); + void set_pitch_rssi(bool enabled); + }; + + struct RSSIGraph_entry { + int32_t rssi_min { 0 }; + int32_t rssi_avg { 0 }; + int32_t rssi_max { 0 }; + int32_t db { 0 }; + }; + + using RSSIGraphList = std::vector; + + class RSSIGraph : public Widget { + public: + RSSIGraph( + const Rect parent_rect + ) : Widget { parent_rect } + { + } + void paint(Painter& painter) override; + void add_values(int32_t rssi_min, int32_t rssi_avg, int32_t rssi_max, int32_t db ); + + private: + RSSIGraphList graph_list { } ; + }; } From 8db44d1a9284e0b7ec2f85d69970c69db47b45d1 Mon Sep 17 00:00:00 2001 From: GullCode Date: Mon, 13 Mar 2023 22:56:47 +0100 Subject: [PATCH 05/10] fixed a text size, used new rssi focusable property so you can launch the level app by touching or selecting and clicking the rssi bars --- firmware/application/apps/ui_recon.cpp | 17 +++++++++++++++-- firmware/application/apps/ui_recon.hpp | 4 ++-- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/firmware/application/apps/ui_recon.cpp b/firmware/application/apps/ui_recon.cpp index 9f185e94..170ed044 100644 --- a/firmware/application/apps/ui_recon.cpp +++ b/firmware/application/apps/ui_recon.cpp @@ -524,15 +524,21 @@ namespace ui { if(frequency_list[index].description.size() > 0) desc_cycle.set( frequency_list[index].description ); //Show new description } big_display.set_style(&style_white); + if( !userpause ) + button_pause.set_text(""); + else + button_pause.set_text(""); } else if( freq_lock == 1 && recon_lock_nb_match != 1 ) { //STARTING LOCK FREQ big_display.set_style(&style_yellow); + button_pause.set_text(""); } else if( index < 1000 && freq_lock >= recon_thread -> get_lock_nb_match() ) { big_display.set_style( &style_green); + button_pause.set_text(""); //FREQ IS STRONG: GREEN and recon will pause when on_statistics_update() if( (!scanner_mode) && autosave && last_freq != freq ) { @@ -874,6 +880,13 @@ namespace ui { nav_.pop(); nav_.push(); }; + + rssi.set_focusable(true); + rssi.on_select = [this](RSSI&) { + recon_thread->stop(); + nav_.pop(); + nav_.push(); + }; button_mic_app.on_select = [this](Button&) { recon_thread->stop(); @@ -1653,7 +1666,7 @@ namespace ui { void ReconView::user_pause() { timer = 0 ; // Will trigger a recon_resume() on_statistics_update, also advancing to next freq. - button_pause.set_text(""); //PAUSED, show resume + //button_pause.set_text(""); //PAUSED, show resume userpause=true; continuous_lock=false; recon_pause(); @@ -1661,7 +1674,7 @@ namespace ui { void ReconView::user_resume() { timer = 0 ; // Will trigger a recon_resume() on_statistics_update, also advancing to next freq. - button_pause.set_text(""); //Show button for pause + //button_pause.set_text(""); //Show button for pause userpause=false; // Resume recon continuous_lock=false; recon_resume(); diff --git a/firmware/application/apps/ui_recon.hpp b/firmware/application/apps/ui_recon.hpp index 1bfaf6e0..0783928d 100644 --- a/firmware/application/apps/ui_recon.hpp +++ b/firmware/application/apps/ui_recon.hpp @@ -31,6 +31,7 @@ #include "analog_audio_app.hpp" #include "audio.hpp" #include "ui_mictx.hpp" +#include "ui_level.hpp" #include "portapack_persistent_memory.hpp" #include "baseband_api.hpp" #include "string_format.hpp" @@ -307,10 +308,9 @@ namespace ui { }; Text file_name { //Show file used - { 0 , 8 * 16 + 4 , 20 * 8, 16 }, + { 0 , 8 * 16 + 4 , 21 * 8, 16 }, }; - ButtonWithEncoder button_manual_start { { 0 * 8, 11 * 16, 11 * 8, 28 }, "" From ad4cfe5a44b99104ed99dde524edbffb27f1371f Mon Sep 17 00:00:00 2001 From: GullCode Date: Mon, 13 Mar 2023 23:12:46 +0100 Subject: [PATCH 06/10] adding header guard --- firmware/application/apps/ui_looking_glass_app.hpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/firmware/application/apps/ui_looking_glass_app.hpp b/firmware/application/apps/ui_looking_glass_app.hpp index df93a819..33e4c937 100644 --- a/firmware/application/apps/ui_looking_glass_app.hpp +++ b/firmware/application/apps/ui_looking_glass_app.hpp @@ -20,6 +20,9 @@ * Boston, MA 02110-1301, USA. */ +#ifndef _UI_GLASS +#define _UI_GLASS + #include "ui.hpp" #include "portapack.hpp" #include "baseband_api.hpp" @@ -184,4 +187,4 @@ }; } - +#endif From f7df4f3575a24e7206f0e5e57c96319c574aa056 Mon Sep 17 00:00:00 2001 From: GullCode Date: Mon, 13 Mar 2023 23:14:06 +0100 Subject: [PATCH 07/10] Use rssi focusable, added shortcut to level app, glass app, cut buttons a bit better in the ui, better pause/resume/skiplock/unlock button --- firmware/application/apps/ui_recon.cpp | 10 +++++++++- firmware/application/apps/ui_recon.hpp | 14 ++++++++++---- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/firmware/application/apps/ui_recon.cpp b/firmware/application/apps/ui_recon.cpp index 170ed044..3b05a147 100644 --- a/firmware/application/apps/ui_recon.cpp +++ b/firmware/application/apps/ui_recon.cpp @@ -666,6 +666,7 @@ namespace ui { &field_lock_wait, &button_recon_setup, &button_scanner_mode, + &button_looking_glass, &file_name, &rssi, &text_cycle, @@ -880,6 +881,13 @@ namespace ui { nav_.pop(); nav_.push(); }; + + button_looking_glass.on_select = [this](Button&) { + recon_thread->stop(); + nav_.pop(); + nav_.push(); + }; + rssi.set_focusable(true); rssi.on_select = [this](RSSI&) { @@ -1104,7 +1112,7 @@ namespace ui { show_max(); /* display step information */ text_cycle.set( "MANUAL SEARCH" ); button_scanner_mode.set_style( &style_white ); - button_scanner_mode.set_text( "M-SEARCH" ); + button_scanner_mode.set_text( "MSEARCH" ); file_name.set_style( &style_white ); file_name.set( "USE: MANUAL RANGE" ); diff --git a/firmware/application/apps/ui_recon.hpp b/firmware/application/apps/ui_recon.hpp index 0783928d..c3196cbe 100644 --- a/firmware/application/apps/ui_recon.hpp +++ b/firmware/application/apps/ui_recon.hpp @@ -32,6 +32,7 @@ #include "audio.hpp" #include "ui_mictx.hpp" #include "ui_level.hpp" +#include "ui_looking_glass_app.hpp" #include "portapack_persistent_memory.hpp" #include "baseband_api.hpp" #include "string_format.hpp" @@ -286,15 +287,15 @@ namespace ui { }; */ Text big_display { //Show frequency in text mode - { 0, 5 * 16 , 28 * 8, 16 }, + { 0, 5 * 16 , 21 * 8, 16 }, }; Text freq_stats { //Show frequency stats in text mode - { 0, 6 * 16 , 28 * 8, 16 }, + { 0, 6 * 16 , 21 * 8, 16 }, }; Text text_timer { //Show frequency stats in text mode - { 0, 7 * 16 , 28 * 8, 16 }, + { 0, 7 * 16 , 21 * 8, 16 }, }; Button button_recon_setup { @@ -302,8 +303,13 @@ namespace ui { "OPT" }; + Button button_looking_glass { + { 240 - 5 * 8 , 6 * 16 , 5 * 8, 28 }, + "GLASS" + }; + Button button_scanner_mode { - { 21 * 8 , 8 * 16 , 9 * 8, 28 }, + { 240 - 8 * 8 , 8 * 16 , 8 * 8, 28 }, "RECON" }; From cfdd12d8a674f146792a600578da8994bb61d195 Mon Sep 17 00:00:00 2001 From: GullCode Date: Mon, 13 Mar 2023 23:27:04 +0100 Subject: [PATCH 08/10] aligned OPT to the right --- firmware/application/apps/ui_recon.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/firmware/application/apps/ui_recon.hpp b/firmware/application/apps/ui_recon.hpp index c3196cbe..9b369df6 100644 --- a/firmware/application/apps/ui_recon.hpp +++ b/firmware/application/apps/ui_recon.hpp @@ -299,7 +299,7 @@ namespace ui { }; Button button_recon_setup { - { 25 * 8 , 2 * 16 + 8 , 4 * 8, 28 }, + { 240 - 4 * 8 , 2 * 16 + 8 , 4 * 8, 28 }, "OPT" }; From b8c1e8c4a6a6c95dac82c3f8d026491655ac0457 Mon Sep 17 00:00:00 2001 From: GullCode Date: Tue, 14 Mar 2023 00:26:12 +0100 Subject: [PATCH 09/10] Added on_touch on RSSI widget --- firmware/application/ui/ui_rssi.cpp | 14 ++++++++++++++ firmware/application/ui/ui_rssi.hpp | 23 +++++++++++++---------- 2 files changed, 27 insertions(+), 10 deletions(-) diff --git a/firmware/application/ui/ui_rssi.cpp b/firmware/application/ui/ui_rssi.cpp index 1cfc2d0f..8721c715 100644 --- a/firmware/application/ui/ui_rssi.cpp +++ b/firmware/application/ui/ui_rssi.cpp @@ -32,6 +32,14 @@ namespace ui { + RSSI::RSSI( + Rect parent_rect, + bool instant_exec + ) : Widget { parent_rect }, + instant_exec_ { instant_exec } + { + } + void RSSI::paint(Painter& painter) { const auto r = screen_rect(); @@ -352,6 +360,9 @@ namespace ui { if( on_touch_press) { on_touch_press(*this); } + if( on_select && instant_exec_ ) { + on_select(*this); + } return true; case TouchEvent::Type::End: set_highlighted(false); @@ -359,6 +370,9 @@ namespace ui { if( on_touch_release) { on_touch_release(*this); } + if( on_select && !instant_exec_ ) { + on_select(*this); + } return true; default: return false; diff --git a/firmware/application/ui/ui_rssi.hpp b/firmware/application/ui/ui_rssi.hpp index bd64244f..d4adf6ce 100644 --- a/firmware/application/ui/ui_rssi.hpp +++ b/firmware/application/ui/ui_rssi.hpp @@ -39,12 +39,15 @@ namespace ui { std::function on_dir { }; std::function on_highlight { }; + RSSI(Rect parent_rect, bool instant_exec); // instant_exec: Execute on_select when you touching instead of releasing RSSI( - const Rect parent_rect - ) : Widget { parent_rect }, - min_ { 0 }, - avg_ { 0 }, - max_ { 0 } + Rect parent_rect + ) : RSSI { parent_rect, false } + { + } + + RSSI( + ) : RSSI { { }, { } } { } @@ -54,19 +57,19 @@ namespace ui { int32_t get_delta(); void set_vertical_rssi(bool enabled); void set_peak(bool enabled, size_t duration); - + void paint(Painter& painter) override; void on_focus() override; bool on_key(const KeyEvent key) override; bool on_touch(const TouchEvent event) override; private: - int32_t min_; - int32_t avg_; - int32_t max_; + int32_t min_ = 0; + int32_t avg_ = 0; + int32_t max_ = 0; int32_t peak_ = 0 ; size_t peak_duration_ = 0 ; - bool instant_exec_ { false }; + bool instant_exec_ { false }; bool pitch_rssi_enabled = false; bool vertical_rssi_enabled = false; // scale [vertically/from bottom to top] From f5427d7fdc1f4db658c12f077cdf15b61f11f1fe Mon Sep 17 00:00:00 2001 From: GullCode Date: Tue, 14 Mar 2023 00:26:25 +0100 Subject: [PATCH 10/10] UI adjustements --- firmware/application/apps/ui_recon.hpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/firmware/application/apps/ui_recon.hpp b/firmware/application/apps/ui_recon.hpp index 9b369df6..0fd4b5ce 100644 --- a/firmware/application/apps/ui_recon.hpp +++ b/firmware/application/apps/ui_recon.hpp @@ -266,7 +266,7 @@ namespace ui { }; RSSI rssi { - { 0 * 16, 2 * 16, 15 * 16, 8 }, + { 0 * 16, 2 * 16, 240 - 4 * 8 , 16 }, }; Text text_cycle { @@ -278,7 +278,7 @@ namespace ui { }; Text desc_cycle { - {0, 4 * 16, 240, 16 }, + {0, 4 * 16, 240 , 16 }, }; /* BigFrequency big_display { //Show frequency in glamour @@ -299,12 +299,12 @@ namespace ui { }; Button button_recon_setup { - { 240 - 4 * 8 , 2 * 16 + 8 , 4 * 8, 28 }, + { 240 - 4 * 8 , 2 * 16 , 4 * 8, 28 }, "OPT" }; Button button_looking_glass { - { 240 - 5 * 8 , 6 * 16 , 5 * 8, 28 }, + { 240 - 5 * 8 , 6 * 16 - 4 , 5 * 8, 28 }, "GLASS" }; @@ -314,7 +314,7 @@ namespace ui { }; Text file_name { //Show file used - { 0 , 8 * 16 + 4 , 21 * 8, 16 }, + { 0 , 8 * 16 + 6 , 21 * 8, 16 }, }; ButtonWithEncoder button_manual_start {