diff --git a/firmware/application/main.cpp b/firmware/application/main.cpp index 9ea928158..b1e58d843 100755 --- a/firmware/application/main.cpp +++ b/firmware/application/main.cpp @@ -23,8 +23,6 @@ // Color bitmaps generated with: // Gimp image > indexed colors (16), then "xxd -i *.bmp" -//BUG: Set description in frequency save makes everything go crazy -//BUG: Distorted audio in WFM receiver //BUG: (fixed ?) POCSAG: Bad console scroll init //BUG: POCSAG misses alphanum messages, cuts them off sometimes //BUG: Check AFSK transmit end, skips last bits ? diff --git a/firmware/application/ui_jammer.cpp b/firmware/application/ui_jammer.cpp index 96e6fa817..869e3719e 100644 --- a/firmware/application/ui_jammer.cpp +++ b/firmware/application/ui_jammer.cpp @@ -76,21 +76,21 @@ void JammerView::update_range(const uint32_t n) { texts_info[n].set(label); } -void JammerView::update_button(const uint32_t n) { +void JammerView::update_button(const uint32_t id) { std::string label; rf::Frequency f; - if (n & 1) - f = frequency_range[n / 2].max; + if (id & 1) + f = frequency_range[id / 2].max; else - f = frequency_range[n / 2].min; + f = frequency_range[id / 2].min; auto f_mhz = to_string_dec_int(f / 1000000, 4); auto f_hz100 = to_string_dec_int((f / 1000) % 1000, 3, '0'); label = f_mhz + "." + f_hz100 + "M"; - buttons_freq[n].set_text(label); + buttons_freq[id].set_text(label); } void JammerView::on_retune(const rf::Frequency freq, const uint32_t range) { @@ -142,18 +142,21 @@ JammerView::JammerView(NavigationView& nav) { const auto button_freq_fn = [this, &nav](Button& button) { rf::Frequency * value_ptr; + uint32_t id = button.id; - if (button.id & 1) - value_ptr = &frequency_range[id].max; + if (id & 1) + value_ptr = &frequency_range[id >> 1].max; else - value_ptr = &frequency_range[id].min; + value_ptr = &frequency_range[id >> 1].min; auto new_view = nav.push(*value_ptr); - new_view->on_changed = [this, value_ptr, &button](rf::Frequency f) { + new_view->on_changed = [this, value_ptr, id](rf::Frequency f) { *value_ptr = f; - update_button(button.id); - update_range(button.id >> 1); + update_button(id); + update_range(id >> 1); }; + + update_button(id); }; const auto checkbox_fn = [this](Checkbox& checkbox, bool v) { diff --git a/firmware/application/ui_navigation.cpp b/firmware/application/ui_navigation.cpp index 0d00caf80..1e8f50fe3 100644 --- a/firmware/application/ui_navigation.cpp +++ b/firmware/application/ui_navigation.cpp @@ -352,17 +352,17 @@ SystemMenuView::SystemMenuView(NavigationView& nav) { add_items<12>({ { { "Play dead", ui::Color::red(), &bitmap_icon_playdead, [&nav](){ nav.push(); } }, { "Receivers", ui::Color::cyan(), &bitmap_icon_receiver, [&nav](){ nav.push(); } }, - { "Capture", ui::Color::cyan(), &bitmap_icon_capture, [&nav](){ nav.push(); } }, //CaptureAppView - { "Replay", ui::Color::grey(), &bitmap_icon_replay, [&nav](){ nav.push(); } }, + { "Capture", ui::Color::cyan(), &bitmap_icon_capture, [&nav](){ nav.push(); } }, //CaptureAppView + { "Replay", ui::Color::grey(), &bitmap_icon_replay, [&nav](){ nav.push(); } }, { "Code transmitters", ui::Color::green(), &bitmap_icon_codetx, [&nav](){ nav.push(); } }, { "Audio transmitters", ui::Color::green(), &bitmap_icon_audiotx, [&nav](){ nav.push(); } }, { "Close Call", ui::Color::orange(),&bitmap_icon_closecall, [&nav](){ nav.push(); } }, { "Jammer", ui::Color::orange(),&bitmap_icon_jammer, [&nav](){ nav.push(); } }, - { "Utilities", ui::Color::purple(),nullptr, [&nav](){ nav.push(); } }, - { "Setup", ui::Color::white(), nullptr, [&nav](){ nav.push(); } }, - //{ "Debug", ui::Color::white(), nullptr, [&nav](){ nav.push(); } }, + { "Utilities", ui::Color::purple(),nullptr, [&nav](){ nav.push(); } }, + { "Setup", ui::Color::white(), nullptr, [&nav](){ nav.push(); } }, + //{ "Debug", ui::Color::white(), nullptr, [&nav](){ nav.push(); } }, { "HackRF mode", ui::Color::white(), &bitmap_icon_hackrf, [this, &nav](){ hackrf_mode(nav); } }, - { "About", ui::Color::white(), nullptr, [&nav](){ nav.push(); } } + { "About", ui::Color::white(), nullptr, [&nav](){ nav.push(); } } } }); set_highlighted(1); // Startup selection is "Receivers" diff --git a/firmware/portapack-h1-havoc.bin b/firmware/portapack-h1-havoc.bin index 8a9a034aa..c7d10eef0 100644 Binary files a/firmware/portapack-h1-havoc.bin and b/firmware/portapack-h1-havoc.bin differ