From 7df5987b3bc814f3e475911c3c70bd9869f171cb Mon Sep 17 00:00:00 2001 From: furrtek Date: Mon, 26 Dec 2016 01:31:38 +0100 Subject: [PATCH] Added utilities > Frequency manager + load/save --- firmware/application/CMakeLists.txt | 2 +- firmware/application/Makefile | 60 ++++---- firmware/application/bitmap.hpp | 26 ++-- firmware/application/freqman.cpp | 110 +++++++++++++++ firmware/application/freqman.hpp | 44 ++++++ firmware/application/main.cpp | 11 +- firmware/application/ui_alphanum.hpp | 2 +- firmware/application/ui_freqman.cpp | 185 ++++++++++++++++++++----- firmware/application/ui_freqman.hpp | 81 +++++++++-- firmware/application/ui_handwrite.cpp | 4 +- firmware/application/ui_handwrite.hpp | 2 +- firmware/application/ui_menu.cpp | 55 +++++--- firmware/application/ui_menu.hpp | 21 ++- firmware/application/ui_navigation.cpp | 42 ++---- firmware/application/ui_navigation.hpp | 50 +------ firmware/application/ui_receiver.cpp | 5 +- firmware/application/ui_textentry.cpp | 17 ++- firmware/application/ui_textentry.hpp | 9 +- firmware/common/ui_widget.cpp | 10 +- firmware/common/ui_widget.hpp | 9 +- firmware/portapack-h1-havoc.bin | Bin 799584 -> 804808 bytes 21 files changed, 526 insertions(+), 219 deletions(-) create mode 100644 firmware/application/freqman.cpp create mode 100644 firmware/application/freqman.hpp diff --git a/firmware/application/CMakeLists.txt b/firmware/application/CMakeLists.txt index f2198d334..ed48f7db0 100644 --- a/firmware/application/CMakeLists.txt +++ b/firmware/application/CMakeLists.txt @@ -140,13 +140,13 @@ set(CPPSRC afsk.cpp rds.cpp ctcss.cpp + freqman.cpp ${COMMON}/lcd_ili9341.cpp ${COMMON}/ui.cpp ${COMMON}/ui_text.cpp ${COMMON}/ui_widget.cpp ${COMMON}/ui_painter.cpp ${COMMON}/ui_focus.cpp - ${COMMON}/msgpack.cpp ui_about.cpp ui_adsbtx.cpp ui_afsksetup.cpp diff --git a/firmware/application/Makefile b/firmware/application/Makefile index bd462e287..1a7bcd33c 100644 --- a/firmware/application/Makefile +++ b/firmware/application/Makefile @@ -2408,33 +2408,6 @@ __/common/message_queue.cpp.s: cd /home/furrtek/portapack-hackrf && $(MAKE) -f firmware/application/CMakeFiles/application.elf.dir/build.make firmware/application/CMakeFiles/application.elf.dir/__/common/message_queue.cpp.s .PHONY : __/common/message_queue.cpp.s -__/common/msgpack.obj: __/common/msgpack.cpp.obj - -.PHONY : __/common/msgpack.obj - -# target to build an object file -__/common/msgpack.cpp.obj: - cd /home/furrtek/portapack-hackrf && $(MAKE) -f firmware/application/CMakeFiles/application.elf.dir/build.make firmware/application/CMakeFiles/application.elf.dir/__/common/msgpack.cpp.obj -.PHONY : __/common/msgpack.cpp.obj - -__/common/msgpack.i: __/common/msgpack.cpp.i - -.PHONY : __/common/msgpack.i - -# target to preprocess a source file -__/common/msgpack.cpp.i: - cd /home/furrtek/portapack-hackrf && $(MAKE) -f firmware/application/CMakeFiles/application.elf.dir/build.make firmware/application/CMakeFiles/application.elf.dir/__/common/msgpack.cpp.i -.PHONY : __/common/msgpack.cpp.i - -__/common/msgpack.s: __/common/msgpack.cpp.s - -.PHONY : __/common/msgpack.s - -# target to generate assembly for a file -__/common/msgpack.cpp.s: - cd /home/furrtek/portapack-hackrf && $(MAKE) -f firmware/application/CMakeFiles/application.elf.dir/build.make firmware/application/CMakeFiles/application.elf.dir/__/common/msgpack.cpp.s -.PHONY : __/common/msgpack.cpp.s - __/common/png_writer.obj: __/common/png_writer.cpp.obj .PHONY : __/common/png_writer.obj @@ -3299,6 +3272,33 @@ filewriter.cpp.s: cd /home/furrtek/portapack-hackrf && $(MAKE) -f firmware/application/CMakeFiles/application.elf.dir/build.make firmware/application/CMakeFiles/application.elf.dir/filewriter.cpp.s .PHONY : filewriter.cpp.s +freqman.obj: freqman.cpp.obj + +.PHONY : freqman.obj + +# target to build an object file +freqman.cpp.obj: + cd /home/furrtek/portapack-hackrf && $(MAKE) -f firmware/application/CMakeFiles/application.elf.dir/build.make firmware/application/CMakeFiles/application.elf.dir/freqman.cpp.obj +.PHONY : freqman.cpp.obj + +freqman.i: freqman.cpp.i + +.PHONY : freqman.i + +# target to preprocess a source file +freqman.cpp.i: + cd /home/furrtek/portapack-hackrf && $(MAKE) -f firmware/application/CMakeFiles/application.elf.dir/build.make firmware/application/CMakeFiles/application.elf.dir/freqman.cpp.i +.PHONY : freqman.cpp.i + +freqman.s: freqman.cpp.s + +.PHONY : freqman.s + +# target to generate assembly for a file +freqman.cpp.s: + cd /home/furrtek/portapack-hackrf && $(MAKE) -f firmware/application/CMakeFiles/application.elf.dir/build.make firmware/application/CMakeFiles/application.elf.dir/freqman.cpp.s +.PHONY : freqman.cpp.s + hackrf_cpld_data.obj: hackrf_cpld_data.cpp.obj .PHONY : hackrf_cpld_data.obj @@ -5316,9 +5316,6 @@ help: @echo "... __/common/message_queue.obj" @echo "... __/common/message_queue.i" @echo "... __/common/message_queue.s" - @echo "... __/common/msgpack.obj" - @echo "... __/common/msgpack.i" - @echo "... __/common/msgpack.s" @echo "... __/common/png_writer.obj" @echo "... __/common/png_writer.i" @echo "... __/common/png_writer.s" @@ -5415,6 +5412,9 @@ help: @echo "... filewriter.obj" @echo "... filewriter.i" @echo "... filewriter.s" + @echo "... freqman.obj" + @echo "... freqman.i" + @echo "... freqman.s" @echo "... hackrf_cpld_data.obj" @echo "... hackrf_cpld_data.i" @echo "... hackrf_cpld_data.s" diff --git a/firmware/application/bitmap.hpp b/firmware/application/bitmap.hpp index c157ecfc5..d0e450b2d 100644 --- a/firmware/application/bitmap.hpp +++ b/firmware/application/bitmap.hpp @@ -76,26 +76,18 @@ static constexpr Bitmap bitmap_speaker { }; static constexpr uint8_t bitmap_more_data[] = { - 0x00, 0x00, - 0xC0, 0x03, - 0xC0, 0x03, - 0xC0, 0x03, - 0xC0, 0x03, - 0xC0, 0x03, - 0xC0, 0x03, - 0xC0, 0x03, - 0xC6, 0x63, - 0xCF, 0xF3, - 0xDE, 0x7B, - 0xFC, 0x3F, - 0xF8, 0x1F, - 0xF0, 0x0F, - 0xE0, 0x07, - 0xC0, 0x03 + 0x18, + 0x18, + 0x18, + 0x18, + 0xFF, + 0x7E, + 0x3C, + 0x18, }; static constexpr Bitmap bitmap_more { - { 16, 16 }, bitmap_more_data + { 8, 8 }, bitmap_more_data }; static constexpr uint8_t bitmap_rssipwm_data[] = { diff --git a/firmware/application/freqman.cpp b/firmware/application/freqman.cpp new file mode 100644 index 000000000..8d5bfd193 --- /dev/null +++ b/firmware/application/freqman.cpp @@ -0,0 +1,110 @@ +/* + * Copyright (C) 2014 Jared Boone, ShareBrained Technology, Inc. + * Copyright (C) 2016 Furrtek + * + * This file is part of PortaPack. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, + * Boston, MA 02110-1301, USA. + */ + +#include "freqman.hpp" + +bool load_freqman_file(std::vector &frequencies) { + File freqs_file; + size_t end, n = 0; + char * file_buffer; + char * desc_pos; + char desc_buffer[32] = { 0 }; + std::string description; + rf::Frequency value; + + file_buffer = (char *)chHeapAlloc(0, 2048); + + while (freqs_file.open("freqman.txt").is_valid()) { + auto result = freqs_file.create("freqman.txt"); + if (result.is_valid()) { + return false; + } + } + + freqs_file.read(file_buffer, 2048); + + char * pos = file_buffer; + while ((pos = strstr(pos, "f=")) && n < 32) { + pos += 2; + + value = strtol(pos, nullptr, 10); + + desc_pos = strstr(pos, "d="); + if (desc_pos) { + desc_pos += 2; + end = strcspn(desc_pos, ",\x0D\x0A"); // CR LF + if (end > 31) end = 31; + memcpy(desc_buffer, desc_pos, end); + desc_buffer[end] = (char)0; + description = desc_buffer; + pos = desc_pos; + } else { + description = "-"; + } + + frequencies.push_back({ value, "", description }); + } + + chHeapFree(file_buffer); + + return true; +} + +bool save_freqman_file(std::vector &frequencies) { + File freqs_file; + size_t n; + std::string item_string; + + auto result = freqs_file.create("freqman.txt"); + if (result.is_valid()) return false; + + for (n = 0; n < frequencies.size(); n++) { + item_string = "f=" + to_string_dec_uint(frequencies[n].value); + + if (frequencies[n].description.size()) + item_string += ",d=" + frequencies[n].description; + + freqs_file.write_line(item_string); + } + + return true; +} + +std::string freqman_item_string(freqman_entry &entry) { + std::string item_string, frequency_str, description; + char temp_buffer[32]; + rf::Frequency value; + + value = entry.value; + entry.frequency_str = to_string_dec_int(value / 1000000, 4) + "." + + to_string_dec_int((value / 100) % 10000, 4, '0'); + + if (entry.description.size() <= 19) { + item_string = entry.frequency_str + ":" + entry.description; + } else { + memcpy(temp_buffer, entry.description.c_str(), 16); + temp_buffer[16] = (char)0; + item_string = entry.frequency_str + ":" + temp_buffer + "..."; + } + + return item_string; +} diff --git a/firmware/application/freqman.hpp b/firmware/application/freqman.hpp new file mode 100644 index 000000000..6523b3afd --- /dev/null +++ b/firmware/application/freqman.hpp @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2014 Jared Boone, ShareBrained Technology, Inc. + * Copyright (C) 2016 Furrtek + * + * This file is part of PortaPack. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, + * Boston, MA 02110-1301, USA. + */ + +#include +#include +#include "file.hpp" +#include "ui_receiver.hpp" +#include "string_format.hpp" + +#ifndef __FREQMAN_H__ +#define __FREQMAN_H__ + +using namespace ui; + +struct freqman_entry { + rf::Frequency value; + std::string frequency_str; + std::string description; +}; + +bool load_freqman_file(std::vector &frequencies); +bool save_freqman_file(std::vector &frequencies); +std::string freqman_item_string(freqman_entry &frequencies); + +#endif/*__FREQMAN_H__*/ diff --git a/firmware/application/main.cpp b/firmware/application/main.cpp index 3d7077735..a3bbf576f 100755 --- a/firmware/application/main.cpp +++ b/firmware/application/main.cpp @@ -23,30 +23,29 @@ // Color bitmaps generated with: // Gimp image > indexed colors (16), then "xxd -i *.bmp" +//BUG: Xylos doesn't play last tone ? +//BUG (fixed ?): Unistroke text entry screen doesn't care about string max length parameter //TEST: Imperial in whipcalc //TEST: Numbers //TEST: Jammer +//TEST: Frequency manager + save/load -//BUG: Xylos doesn't play last tone ? -//BUG (fixed ?): Soundboard crashes on exit if no wav files on sd card -//BUG (fixed ?): Unistroke text entry screen doesn't care about string max length parameter //BUG: POCSAG RX sometimes misses the first codeword after SYNC //BUG: Check AFSK transmit end, skips last bits ? //BUG: RDS doesn't stop baseband when stopping tx ? +//TODO: File browser ? //TODO: Mousejack ? //TODO: Waveform widget ? -//TODO: Frequency manager save/load (ui_freqman) +//TODO: Wav visualizer //TODO: Move frequencykeypad from ui_receiver to ui_widget (used everywhere) //TODO: ADS-B draw trajectory + GPS coordinates + scale, and playback //TODO: Finish EPAR tx -//TODO: Wav visualizer //TODO: Analog TV tx with camcorder font character generator //TODO: Test dual tone in proc_tones and remove proc_dtmf_tx //TODO: Morse coder for foxhunts //TODO: Make Morse coder and Whistle use proc_tones //TODO: RDS multiple groups (sequence) -//TODO: Frequency manager //TODO: IQ replay //TODO: Use ModalMessageView confirmation for TX ? //TODO: Show address/data bit fields in OOK TX diff --git a/firmware/application/ui_alphanum.hpp b/firmware/application/ui_alphanum.hpp index 0e1208895..edd5d8aca 100644 --- a/firmware/application/ui_alphanum.hpp +++ b/firmware/application/ui_alphanum.hpp @@ -62,7 +62,7 @@ private: void update_text(); Text text_input { - { 8, 0, 224, 16 } + { 8, 0, 232, 16 } }; std::array buttons; diff --git a/firmware/application/ui_freqman.cpp b/firmware/application/ui_freqman.cpp index 8c518170e..775198aae 100644 --- a/firmware/application/ui_freqman.cpp +++ b/firmware/application/ui_freqman.cpp @@ -24,7 +24,6 @@ #include "portapack.hpp" #include "event_m0.hpp" -#include "portapack_shared_memory.hpp" #include @@ -32,73 +31,197 @@ using namespace portapack; namespace ui { +void FrequencySaveView::on_save_name(NavigationView& nav) { + textentry(nav, desc_buffer, 28); + frequencies.push_back({ value_, "", desc_buffer }); + nav.pop(); +} +void FrequencySaveView::on_save_timestamp(NavigationView& nav) { + frequencies.push_back({ value_, "", text_timestamp.text() }); + nav.pop(); +} + void FrequencySaveView::focus() { button_save_timestamp.focus(); + + if (error) + nav_.display_modal("Error", "File acces error !", ABORT, nullptr); +} + +void FrequencySaveView::on_tick_second() { + rtcGetTime(&RTCD1, &datetime); + text_timestamp.set(to_string_dec_uint(datetime.month(), 2, '0') + "/" + to_string_dec_uint(datetime.day(), 2, '0') + " " + + to_string_dec_uint(datetime.hour(), 2, '0') + ":" + to_string_dec_uint(datetime.minute(), 2, '0')); +} + +FrequencySaveView::~FrequencySaveView() { + time::signal_tick_second -= signal_token_tick_second; + save_freqman_file(frequencies); } FrequencySaveView::FrequencySaveView( NavigationView& nav, const rf::Frequency value -) { +) : nav_ (nav), + value_ (value) +{ + error = !load_freqman_file(frequencies); + + signal_token_tick_second = time::signal_tick_second += [this]() { + this->on_tick_second(); + }; + add_children({ { &big_display, &text_save, &button_save_name, &button_save_timestamp, + &text_timestamp, &button_cancel } }); + on_tick_second(); + big_display.set(value); + button_save_name.on_select = [this, &nav](Button&) { + on_save_name(nav); + }; + button_save_timestamp.on_select = [this, &nav](Button&) { + on_save_timestamp(nav); + }; + button_cancel.on_select = [this, &nav](Button&) { + nav.pop(); + }; +} + +void FrequencyLoadView::setup_list() { + size_t n; + + menu_view.clear(); + + for (n = 0; n < frequencies.size(); n++) { + menu_view.add_item({ freqman_item_string(frequencies[n]), ui::Color::white(), [this](){ on_frequency_select(); } }); + } + + menu_view.set_parent_rect({ 0, 0, 240, 216 }); + menu_view.set_highlighted(menu_view.highlighted()); // Refresh +} + +void FrequencyLoadView::on_frequency_select() { + nav_.pop(); + if (on_changed) on_changed(frequencies[menu_view.highlighted()].value); +} + +void FrequencyLoadView::focus() { + menu_view.focus(); + + if (error) + nav_.display_modal("Error", "File acces error !", ABORT, nullptr); +} + +FrequencyLoadView::FrequencyLoadView( + NavigationView& nav +) : nav_ (nav) +{ + error = !load_freqman_file(frequencies); + + add_children({ { + &menu_view, + &button_cancel + } }); + + setup_list(); + button_cancel.on_select = [this, &nav](Button&) { nav.pop(); }; } -void FrequencyLoadView::focus() { - button_exit.focus(); +void FreqManView::on_frequency_select() { + button_edit_freq.focus(); } -FrequencyLoadView::FrequencyLoadView( - NavigationView& nav, - const rf::Frequency value -) { +void FreqManView::on_edit_freq(rf::Frequency f) { + frequencies[menu_view.highlighted()].value = f; + setup_list(); +} - add_children({ { - &button_exit - } }); +void FreqManView::on_edit_desc(NavigationView& nav) { + char desc_buffer[32] = { 0 }; - button_exit.on_select = [this, &nav](Button&) { - nav.pop(); - }; + strcpy(desc_buffer, frequencies[menu_view.highlighted()].description.c_str()); + textentry(nav, desc_buffer, 28, [this, &desc_buffer](char * buffer) { + frequencies[menu_view.highlighted()].description = buffer; + setup_list(); + }); +} + +void FreqManView::on_delete() { + frequencies.erase(frequencies.begin() + menu_view.highlighted()); + setup_list(); +} + +void FreqManView::setup_list() { + size_t n; + + menu_view.clear(); + + for (n = 0; n < frequencies.size(); n++) { + menu_view.add_item({ freqman_item_string(frequencies[n]), ui::Color::white(), [this](){ on_frequency_select(); } }); + } + + menu_view.set_parent_rect({ 0, 0, 240, 168 }); + menu_view.set_highlighted(menu_view.highlighted()); // Refresh } void FreqManView::focus() { - button_exit.focus(); + menu_view.focus(); + + if (error) + nav_.display_modal("Error", "File acces error !", ABORT, nullptr); +} + +FreqManView::~FreqManView() { + save_freqman_file(frequencies); } FreqManView::FreqManView( NavigationView& nav -) { - +) : nav_ (nav) +{ + error = !load_freqman_file(frequencies); + add_children({ { + &menu_view, + &button_edit_freq, + &button_edit_desc, + &button_del, &button_exit } }); - - size_t n = 0; - for(auto& text : text_list) { - add_child(&text); - text.set_parent_rect({ - static_cast(0), - static_cast(16 + (n * 16)), - 240, 16 - }); - const std::string label { - (char)(n + 0x30) + + setup_list(); + + button_edit_freq.on_select = [this, &nav](Button&) { + auto new_view = nav.push(frequencies[menu_view.highlighted()].value); + new_view->on_changed = [this](rf::Frequency f) { + on_edit_freq(f); }; - text.set(label); - n++; - } + }; + + button_edit_desc.on_select = [this, &nav](Button&) { + on_edit_desc(nav); + }; + + button_del.on_select = [this, &nav](Button&) { + nav.push("Confirm", "Are you sure ?", YESNO, + [this](bool choice) { + if (choice) { + on_delete(); + } + } + ); + }; button_exit.on_select = [this, &nav](Button&) { nav.pop(); diff --git a/firmware/application/ui_freqman.hpp b/firmware/application/ui_freqman.hpp index 402150313..b92c509c7 100644 --- a/firmware/application/ui_freqman.hpp +++ b/firmware/application/ui_freqman.hpp @@ -25,35 +25,57 @@ #include "ui_painter.hpp" #include "ui_menu.hpp" #include "ui_navigation.hpp" +#include "ui_receiver.hpp" +#include "ui_textentry.hpp" +#include "freqman.hpp" +#include "time.hpp" namespace ui { class FrequencySaveView : public View { public: FrequencySaveView(NavigationView& nav, const rf::Frequency value); - //~FrequencySaveView(); + ~FrequencySaveView(); void focus() override; std::string title() const override { return "Save frequency"; }; private: + NavigationView& nav_; + bool error = false; + char desc_buffer[32] = { 0 }; + rtc::RTC datetime; + rf::Frequency value_; + + void on_save_name(NavigationView& nav); + void on_save_timestamp(NavigationView& nav); + void on_tick_second(); + + std::vector frequencies; + + SignalToken signal_token_tick_second; + BigFrequency big_display { { 4, 2 * 16, 28 * 8, 32 }, 0 }; Text text_save { - { 72, 124, 10 * 8, 16 }, - "Save with:", + { 88, 120, 8 * 8, 16 }, + "Save as:", }; Button button_save_name { { 72, 144, 96, 32 }, - "Name" + "Name (set)" }; Button button_save_timestamp { { 72, 184, 96, 32 }, - "Timestamp" + "Timestamp:" + }; + Text text_timestamp { + { 76, 220, 11 * 8, 16 }, + "MM/DD HH:MM", }; Button button_cancel { @@ -64,34 +86,69 @@ private: class FrequencyLoadView : public View { public: - FrequencyLoadView(NavigationView& nav, const rf::Frequency value); - //~FrequencySaveView(); + std::function on_changed; + + FrequencyLoadView(NavigationView& nav); void focus() override; std::string title() const override { return "Load frequency"; }; private: - Button button_exit { + NavigationView& nav_; + bool error = false; + + void on_frequency_select(); + void setup_list(); + + std::vector frequencies; + + MenuView menu_view; + + Button button_cancel { { 72, 264, 96, 32 }, - "Exit" + "Cancel" }; }; class FreqManView : public View { public: FreqManView(NavigationView& nav); - //~FreqManView(); + ~FreqManView(); void focus() override; std::string title() const override { return "Freq. manager"; }; private: - std::array text_list; + NavigationView& nav_; + bool error = false; + + void on_frequency_select(); + void on_edit_freq(rf::Frequency f); + void on_edit_desc(NavigationView& nav); + void on_delete(); + void setup_list(); + + std::vector frequencies; + MenuView menu_view { true }; + + Button button_edit_freq { + { 52, 194, 106, 30 }, + "Edit freq." + }; + Button button_edit_desc { + { 52, 192 + 32, 106, 30 }, + "Edit desc." + }; + Button button_del { + { 168, 192, 64, 64 }, + "Del" + }; + Button button_exit { - { 72, 264, 96, 32 }, + { 168, 264, 64, 32 }, "Exit" }; }; diff --git a/firmware/application/ui_handwrite.cpp b/firmware/application/ui_handwrite.cpp index 2ff568a53..10f924637 100644 --- a/firmware/application/ui_handwrite.cpp +++ b/firmware/application/ui_handwrite.cpp @@ -142,7 +142,7 @@ void HandWriteView::clear_zone(const Color color, const bool flash) { color ); if (flash) { - flash_timer = 4; + flash_timer = 8; } else { // Draw grid _painter->draw_rectangle( @@ -239,7 +239,7 @@ void HandWriteView::guess_letter() { } } else { // Short tap is space - txtinput[txtidx++] = ' '; + char_add(' '); clear_zone(Color::green(), true); // Green flash } update_text(); diff --git a/firmware/application/ui_handwrite.hpp b/firmware/application/ui_handwrite.hpp index 056381add..7b66fec40 100644 --- a/firmware/application/ui_handwrite.hpp +++ b/firmware/application/ui_handwrite.hpp @@ -71,7 +71,7 @@ private: void update_text(); Text text_input { - { 8, 0, 224, 16 } + { 8, 0, 232, 16 } }; std::array num_buttons; diff --git a/firmware/application/ui_menu.cpp b/firmware/application/ui_menu.cpp index 57968b523..9054cf441 100644 --- a/firmware/application/ui_menu.cpp +++ b/firmware/application/ui_menu.cpp @@ -46,7 +46,7 @@ void MenuItemView::unhighlight() { void MenuItemView::paint(Painter& painter) { const auto r = screen_rect(); - const auto paint_style = (highlighted() && parent()->has_focus()) ? style().invert() : style(); + const auto paint_style = (highlighted() && (parent()->has_focus() || keep_highlight_)) ? style().invert() : style(); const auto font_height = paint_style.font.line_height(); @@ -75,15 +75,18 @@ void MenuItemView::paint(Painter& painter) { /* MenuView **************************************************************/ -MenuView::MenuView() { +MenuView::MenuView( + bool keep_highlight +) : keep_highlight_ { keep_highlight } +{ set_focusable(true); - add_child(&arrow_more); signal_token_tick_second = time::signal_tick_second += [this]() { this->on_tick_second(); }; - arrow_more.set_parent_rect( { 216, 320 - 16 - 24, 16, 16 } ); + add_child(&arrow_more); + arrow_more.id = 1; // Special flag arrow_more.set_focusable(false); arrow_more.set_foreground(Color::black()); } @@ -97,39 +100,47 @@ void MenuView::on_tick_second() { arrow_more.set_foreground(Color::white()); else arrow_more.set_foreground(Color::black()); - + blink_ = !blink_; arrow_more.set_dirty(); } +void MenuView::clear() { + children_.erase(children_.begin() + 1, children_.end()); +} + void MenuView::add_item(const MenuItem item) { - add_child(new MenuItemView { item }); + add_child(new MenuItemView { item, keep_highlight_ }); } void MenuView::set_parent_rect(const Rect new_parent_rect) { View::set_parent_rect(new_parent_rect); + + displayed_max_ = new_parent_rect.size.h / 24; + arrow_more.set_parent_rect( { 228, (Coord)(displayed_max_ * item_height), 8, 8 } ); + update_items(); } void MenuView::update_items() { - constexpr size_t item_height = 24; size_t i = 0; - Coord y_pos; + int32_t y_pos; - if ((children_.size() - 1) > MENU_MAX + offset_) + if ((children_.size() - 1) > displayed_max_ + offset_) { more_ = true; - else + blink_ = true; + } else more_ = false; for (auto child : children_) { - if (i) { // Skip arrow widget - y_pos = (i - 1 - offset_) * item_height; + if (!child->id) { + y_pos = (i - offset_ - 1) * item_height; child->set_parent_rect({ { 0, y_pos }, - { size().w, item_height } + { size().w, (Coord)item_height } }); - if ((y_pos < 0) || (y_pos >= (320 - 16 - 24 - 16))) + if ((y_pos < 0) || (y_pos > (Coord)(screen_rect().size.h - item_height))) child->hidden(true); else child->hidden(false); @@ -142,20 +153,24 @@ MenuItemView* MenuView::item_view(size_t index) const { /* TODO: Terrible cast! Take it as a sign I must be doing something * shamefully wrong here, right? */ - return static_cast(children_[index + 1]); // Skip arrow widget + return static_cast(children_[index + 1]); } size_t MenuView::highlighted() const { return highlighted_; } -bool MenuView::set_highlighted(const size_t new_value) { - if( new_value >= (children_.size() - 1) ) // Skip arrow widget +bool MenuView::set_highlighted(int32_t new_value) { + int32_t item_count = (int32_t)children_.size() - 1; + if (new_value < 0) return false; - if ((new_value > offset_) && ((new_value - offset_ + 1) >= MENU_MAX)) { + if (new_value >= item_count) + new_value = item_count - 1; + + if ((new_value > offset_) && ((new_value - offset_ + 1) >= displayed_max_)) { // Shift MenuView up - offset_ = new_value - MENU_MAX + 1; + offset_ = new_value - displayed_max_ + 1; update_items(); } else if (new_value < offset_) { // Shift MenuView down @@ -175,7 +190,7 @@ void MenuView::on_focus() { } void MenuView::on_blur() { - item_view(highlighted())->unhighlight(); + if (!keep_highlight_) item_view(highlighted())->unhighlight(); } bool MenuView::on_key(const KeyEvent key) { diff --git a/firmware/application/ui_menu.hpp b/firmware/application/ui_menu.hpp index cfc22adc7..3355a8795 100644 --- a/firmware/application/ui_menu.hpp +++ b/firmware/application/ui_menu.hpp @@ -33,8 +33,6 @@ #include #include -#define MENU_MAX 11 - namespace ui { struct MenuItem { @@ -50,8 +48,10 @@ struct MenuItem { class MenuItemView : public Widget { public: MenuItemView( - MenuItem item - ) : item(item) + MenuItem item, + bool keep_highlight + ) : item(item), + keep_highlight_ { keep_highlight } { } @@ -63,16 +63,19 @@ public: private: const MenuItem item; + bool keep_highlight_ = false; }; class MenuView : public View { public: std::function on_left; - MenuView(); + MenuView(bool keep_highlight = false); + ~MenuView(); void add_item(const MenuItem item); + void clear(); template void add_items(const std::array& items) { @@ -86,7 +89,7 @@ public: MenuItemView* item_view(size_t index) const; size_t highlighted() const; - bool set_highlighted(const size_t new_value); + bool set_highlighted(int32_t new_value); void on_focus() override; void on_blur() override; @@ -98,17 +101,21 @@ private: void update_items(); void on_tick_second(); + bool keep_highlight_ = false; + SignalToken signal_token_tick_second; Image arrow_more { - { 216, 320 - 16 - 24, 16, 16 }, + { 228, 320 - 8, 8, 8 }, &bitmap_more, Color::white(), Color::black() }; + const size_t item_height = 24; bool blink_ = false; bool more_ = false; + size_t displayed_max_; size_t highlighted_ { 0 }; size_t offset_ { 0 }; }; diff --git a/firmware/application/ui_navigation.cpp b/firmware/application/ui_navigation.cpp index 12629b18f..0a22892ee 100644 --- a/firmware/application/ui_navigation.cpp +++ b/firmware/application/ui_navigation.cpp @@ -76,7 +76,7 @@ SystemStatusView::SystemStatusView() { &sd_card_status_view, } }); - if (portapack::persistent_memory::ui_config_textentry()) + if (!portapack::persistent_memory::ui_config_textentry()) button_textentry.set_bitmap(&bitmap_keyboard); else button_textentry.set_bitmap(&bitmap_unistroke); @@ -326,6 +326,16 @@ UtilitiesView::UtilitiesView(NavigationView& nav) { } /* SystemMenuView ********************************************************/ +void SystemMenuView::hackrf_mode(NavigationView& nav) { + nav.push("Confirm", "Switch to HackRF mode ?", YESNO, + [this](bool choice) { + if (choice) { + EventDispatcher::request_stop(); + } + } + ); +} + SystemMenuView::SystemMenuView(NavigationView& nav) { add_items<11>({ { { "Play dead", ui::Color::red(), [&nav](){ nav.push(); } }, @@ -339,7 +349,7 @@ SystemMenuView::SystemMenuView(NavigationView& nav) { //{ "Analyze", ui::Color::white(), [&nav](){ nav.push(); } }, { "Setup", ui::Color::white(), [&nav](){ nav.push(); } }, //{ "Debug", ui::Color::white(), [&nav](){ nav.push(); } }, - { "HackRF mode", ui::Color::white(), [&nav](){ nav.push(); } }, + { "HackRF mode", ui::Color::white(), [this, &nav](){ hackrf_mode(nav); } }, { "About", ui::Color::white(), [&nav](){ nav.push(); } } } }); @@ -399,28 +409,6 @@ Context& SystemView::context() const { return context_; } -/* HackRFFirmwareView ****************************************************/ - -HackRFFirmwareView::HackRFFirmwareView(NavigationView& nav) { - button_yes.on_select = [](Button&){ - EventDispatcher::request_stop(); - }; - - button_no.on_select = [&nav](Button&){ - nav.pop(); - }; - - add_children({ { - &text_title, - &text_description_1, - &text_description_2, - &text_description_3, - &text_description_4, - &button_yes, - &button_no, - } }); -} - /* ***********************************************************************/ void BMPView::focus() { @@ -490,10 +478,6 @@ PlayDeadView::PlayDeadView(NavigationView& nav) { }; } -void HackRFFirmwareView::focus() { - button_no.focus(); -} - /* NotImplementedView ****************************************************/ NotImplementedView::NotImplementedView(NavigationView& nav) { @@ -563,7 +547,7 @@ ModalMessageView::ModalMessageView( } void ModalMessageView::paint(Painter&) { - portapack::display.drawBMP({96, 64}, modal_warning_bmp, false); + portapack::display.drawBMP({ 100, 64 }, modal_warning_bmp, false); } void ModalMessageView::focus() { diff --git a/firmware/application/ui_navigation.hpp b/firmware/application/ui_navigation.hpp index 8ee57bc19..f942eeb4a 100644 --- a/firmware/application/ui_navigation.hpp +++ b/firmware/application/ui_navigation.hpp @@ -223,6 +223,8 @@ public: class SystemMenuView : public MenuView { public: SystemMenuView(NavigationView& nav); +private: + void hackrf_mode(NavigationView& nav); }; class SystemView : public View { @@ -240,49 +242,6 @@ private: Context& context_; }; -class HackRFFirmwareView : public View { -public: - HackRFFirmwareView(NavigationView& nav); - - void focus() override; - -private: - Text text_title { - { 76, 4 * 16, 19 * 8, 16 }, - "HackRF Mode" - }; - - Text text_description_1 { - { 4, 7 * 16, 19 * 8, 16 }, - "Run stock HackRF firmware and" - }; - - Text text_description_2 { - { 12, 8 * 16, 19 * 8, 16 }, - "disable PortaPack until the" - }; - - Text text_description_3 { - { 4, 9 * 16, 19 * 8, 16 }, - "unit is reset or disconnected" - }; - - Text text_description_4 { - { 76, 10 * 16, 19 * 8, 16 }, - "from power?" - }; - - Button button_yes { - { 4 * 8, 13 * 16, 8 * 8, 24 }, - "Yes", - }; - - Button button_no { - { 18 * 8, 13 * 16, 8 * 8, 24 }, - "No", - }; -}; - class NotImplementedView : public View { public: NotImplementedView(NavigationView& nav); @@ -329,11 +288,12 @@ private: }; Button button_yes { - { 40, 13 * 16, 64, 24 }, + { 5 * 8, 13 * 16, 8 * 8, 48 }, "YES", }; + Button button_no { - { 152, 13 * 16, 64, 24 }, + { 17 * 8, 13 * 16, 8 * 8, 48 }, "NO", }; }; diff --git a/firmware/application/ui_receiver.cpp b/firmware/application/ui_receiver.cpp index 19dc37a0a..2e8752a7e 100644 --- a/firmware/application/ui_receiver.cpp +++ b/firmware/application/ui_receiver.cpp @@ -158,7 +158,10 @@ FrequencyKeypadView::FrequencyKeypadView( nav.push(this->value()); }; button_load.on_select = [this, &nav](Button&) { - nav.push(this->value()); + auto load_view = nav.push(); + load_view->on_changed = [this](rf::Frequency value) { + set_value(value); + }; }; button_close.on_select = [this, &nav](Button&) { diff --git a/firmware/application/ui_textentry.cpp b/firmware/application/ui_textentry.cpp index be649267b..db3e5be1d 100644 --- a/firmware/application/ui_textentry.cpp +++ b/firmware/application/ui_textentry.cpp @@ -24,16 +24,19 @@ namespace ui { -bool textentry(NavigationView& nav, char * str, size_t max_length) { +bool textentry(NavigationView& nav, char * str, const size_t max_length, const std::function on_done) { + if (portapack::persistent_memory::ui_config_textentry() == 0) { - auto an_view = nav.push(str, max_length); - an_view->on_changed = [str, max_length](char * value) { - memcpy(str, value, max_length + 1); + auto te_view = nav.push(str, max_length); + te_view->on_changed = [str, max_length, on_done](char * value) { + //memcpy(str, value, max_length + 1); + if (on_done) on_done(value); }; } else { - auto an_view = nav.push(str, max_length); - an_view->on_changed = [str, max_length](char * value) { - memcpy(str, value, max_length + 1); + auto te_view = nav.push(str, max_length); + te_view->on_changed = [str, max_length, on_done](char * value) { + //memcpy(str, value, max_length + 1); + if (on_done) on_done(value); }; } diff --git a/firmware/application/ui_textentry.hpp b/firmware/application/ui_textentry.hpp index 4b7998943..392729126 100644 --- a/firmware/application/ui_textentry.hpp +++ b/firmware/application/ui_textentry.hpp @@ -20,14 +20,21 @@ * Boston, MA 02110-1301, USA. */ +#ifndef __UI_TEXTENTRY_H__ +#define __UI_TEXTENTRY_H__ + #include "ui.hpp" #include "ui_navigation.hpp" #include "ui_handwrite.hpp" #include "ui_alphanum.hpp" #include "portapack_persistent_memory.hpp" +// TODO: Make class + namespace ui { -bool textentry(NavigationView& nav, char * str, size_t max_length); +bool textentry(NavigationView& nav, char * str, size_t max_length, const std::function on_done = nullptr); } /* namespace ui */ + +#endif/*__UI_TEXTENTRY_H__*/ diff --git a/firmware/common/ui_widget.cpp b/firmware/common/ui_widget.cpp index 14dbba3e6..c05dba72b 100644 --- a/firmware/common/ui_widget.cpp +++ b/firmware/common/ui_widget.cpp @@ -316,7 +316,7 @@ Text::Text( Rect parent_rect, std::string text ) : Widget { parent_rect }, - text { text } + text_ { text } { } @@ -327,10 +327,14 @@ Text::Text( } void Text::set(const std::string value) { - text = value; + text_ = value; set_dirty(); } +std::string Text::text() const { + return text_; +} + void Text::paint(Painter& painter) { const auto rect = screen_rect(); const auto s = style(); @@ -340,7 +344,7 @@ void Text::paint(Painter& painter) { painter.draw_string( rect.pos, s, - text + text_ ); } diff --git a/firmware/common/ui_widget.hpp b/firmware/common/ui_widget.hpp index 6568e1b93..54582d4ff 100644 --- a/firmware/common/ui_widget.hpp +++ b/firmware/common/ui_widget.hpp @@ -104,6 +104,7 @@ public: void set_style(const Style* new_style); const Style& style() const; + uint16_t id = 0; // State management methods. void set_dirty(); @@ -115,8 +116,6 @@ public: bool highlighted() const; void set_highlighted(const bool value); - - uint16_t id = 0; protected: void dirty_overlapping_children_in_rect(const Rect& child_rect); @@ -192,18 +191,19 @@ private: class Text : public Widget { public: Text( - ) : text { "" } { + ) : text_ { "" } { } Text(Rect parent_rect, std::string text); Text(Rect parent_rect); void set(const std::string value); + std::string text() const; void paint(Painter& painter) override; private: - std::string text; + std::string text_; }; class BigFrequency : public Widget { @@ -265,7 +265,6 @@ public: } void set_text(const std::string value); - // std::string text() const; bool set_value(const bool value); bool value() const; diff --git a/firmware/portapack-h1-havoc.bin b/firmware/portapack-h1-havoc.bin index 68f26417c62cac917d36bdc03bb23520f9b5e072..99d125f8f9912964d15aa76dccfbfa32c1e9aed0 100644 GIT binary patch delta 93854 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 delta 88980 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�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 A)&Kwi