From 1d697d22017fcda3e6d35786adb05be2ead9afff Mon Sep 17 00:00:00 2001 From: furrtek Date: Thu, 28 Jul 2016 05:25:33 +0200 Subject: [PATCH] Added PWM RSSI output for NBFM and WFM --- firmware/application/baseband_api.cpp | 9 +++ firmware/application/baseband_api.hpp | 1 + firmware/application/bitmap.hpp | 43 ++++++++++++++ firmware/application/main.cpp | 1 + firmware/application/ui_lcr.cpp | 26 ++++----- firmware/application/ui_lcr.hpp | 38 ------------ firmware/application/ui_navigation.cpp | 7 ++- firmware/application/ui_record_view.cpp | 29 ++++++++++ firmware/application/ui_record_view.hpp | 13 ++++- firmware/application/ui_rssi.cpp | 12 ++++ firmware/application/ui_rssi.hpp | 13 ++++- firmware/application/ui_xylos.cpp | 13 +---- firmware/application/ui_xylos.hpp | 5 +- firmware/baseband/proc_nfm_audio.cpp | 35 +++++++++-- firmware/baseband/proc_nfm_audio.hpp | 12 ++++ firmware/baseband/proc_wfm_audio.cpp | 74 +++++++++++++++++------- firmware/baseband/proc_wfm_audio.hpp | 12 ++++ firmware/baseband/proc_xylos.cpp | 4 -- firmware/common/message.hpp | 21 +++++-- firmware/common/ui_widget.cpp | 23 +++++--- firmware/common/ui_widget.hpp | 1 + firmware/portapack-h1-firmware.bin | Bin 494864 -> 496496 bytes 22 files changed, 274 insertions(+), 118 deletions(-) diff --git a/firmware/application/baseband_api.cpp b/firmware/application/baseband_api.cpp index 70a8235b..115f52d0 100644 --- a/firmware/application/baseband_api.cpp +++ b/firmware/application/baseband_api.cpp @@ -100,6 +100,15 @@ void set_afsk_data(const char message_data[], const uint32_t afsk_samples_per_bi send_message(&message); } +void set_pwmrssi(int32_t avg, bool enabled) { + const PWMRSSIConfigureMessage message { + enabled, + 1000, // 1kHz + avg + }; + send_message(&message); +} + static bool baseband_image_running = false; void run_image(const portapack::spi_flash::image_tag_t image_tag) { diff --git a/firmware/application/baseband_api.hpp b/firmware/application/baseband_api.hpp index 5b04fae5..7797fd52 100644 --- a/firmware/application/baseband_api.hpp +++ b/firmware/application/baseband_api.hpp @@ -53,6 +53,7 @@ struct WFMConfig { }; void set_xylos_data(const char ccir_message[]); +void set_pwmrssi(int32_t avg, bool enabled); void set_afsk_data(const char message_data[], const uint32_t afsk_samples_per_bit, const uint32_t afsk_phase_inc_mark, const uint32_t afsk_phase_inc_space, const uint8_t afsk_repeat, const uint32_t afsk_bw, const bool afsk_alt_format); diff --git a/firmware/application/bitmap.hpp b/firmware/application/bitmap.hpp index 78f0fa9f..2a727780 100644 --- a/firmware/application/bitmap.hpp +++ b/firmware/application/bitmap.hpp @@ -1,5 +1,6 @@ /* * Copyright (C) 2015 Jared Boone, ShareBrained Technology, Inc. + * Copyright (C) 2016 Furrtek * * This file is part of PortaPack. * @@ -26,6 +27,48 @@ namespace ui { +/* +00000000 00000000 00000000 +11110001 11100111 10111110 +10001010 00001000 00001000 +10001010 00001000 00001000 +11110001 11000111 00001000 +10010000 00100000 10001000 +10001000 00100000 10001000 +10001011 11001111 00111110 +00000000 00000000 00000000 +11111100 01111000 01111000 +10000100 01001000 01001000 +10000100 01001000 01001000 +10000100 01001000 01001000 +10000100 01001000 01001000 +10000100 01001000 01001000 +10000111 11001111 11001110 +*/ + +static constexpr uint8_t bitmap_rssipwm_data[] = { + 0x00, 0x00, 0x00, + 0x8F, 0xE7, 0x7D, + 0x51, 0x10, 0x10, + 0x51, 0x10, 0x10, + 0x8F, 0xE3, 0x10, + 0x09, 0x04, 0x11, + 0x11, 0x04, 0x11, + 0xD1, 0xF3, 0x7C, + 0x00, 0x00, 0x00, + 0x3F, 0x1E, 0x1E, + 0x21, 0x12, 0x12, + 0x21, 0x12, 0x12, + 0x21, 0x12, 0x12, + 0x21, 0x12, 0x12, + 0x21, 0x12, 0x12, + 0xE1, 0xF3, 0x73 +}; + +static constexpr Bitmap bitmap_rssipwm { + { 24, 16 }, bitmap_rssipwm_data +}; + static constexpr uint8_t bitmap_keyboard_data[] = { 0x00, 0x00, 0x00, 0x00, diff --git a/firmware/application/main.cpp b/firmware/application/main.cpp index 23058491..6501dcc4 100755 --- a/firmware/application/main.cpp +++ b/firmware/application/main.cpp @@ -1,5 +1,6 @@ /* * Copyright (C) 2014 Jared Boone, ShareBrained Technology, Inc. + * Copyright (C) 2016 Furrtek * * This file is part of PortaPack. * diff --git a/firmware/application/ui_lcr.cpp b/firmware/application/ui_lcr.cpp index fd758bc1..ca8f5870 100644 --- a/firmware/application/ui_lcr.cpp +++ b/firmware/application/ui_lcr.cpp @@ -21,22 +21,12 @@ */ #include "ui_lcr.hpp" -#include "ui_receiver.hpp" #include "ui_afsksetup.hpp" #include "ui_debug.hpp" -#include "ch.h" - -#include "ff.h" #include "baseband_api.hpp" -#include "hackrf_gpio.hpp" -#include "portapack.hpp" -#include "event_m0.hpp" - #include "string_format.hpp" -#include "hackrf_hal.hpp" -#include "portapack_shared_memory.hpp" #include "portapack_persistent_memory.hpp" #include @@ -231,6 +221,7 @@ void LCRView::on_txdone(int n) { char str[16]; if (n > 0) { + // Repeating... repeat_index = n + 1; if (tx_mode == SCAN) { scan_progress++; @@ -239,9 +230,11 @@ void LCRView::on_txdone(int n) { update_progress(); } } else { + // Done transmitting if ((tx_mode == SCAN) && (scan_index < (LCR_SCAN_COUNT - 1))) { transmitter_model.disable(); if (abort_scan) { + // Kill scan process strcpy(str, "Abort @"); strcat(str, rgsb); text_status.set(str); @@ -415,16 +408,17 @@ LCRView::LCRView(NavigationView& nav) { }; button_clear.on_select = [this, &nav](Button&) { + uint8_t n; + if (tx_mode == IDLE) { memset(litteral, 0, 5 * 8); - options_ec.set_selected_index(0); - checkbox_am_a.set_value(true); - checkbox_am_b.set_value(true); - checkbox_am_c.set_value(true); - checkbox_am_d.set_value(true); - checkbox_am_e.set_value(true); + options_ec.set_selected_index(0); // Auto + for (n = 0; n < 5; n++) + checkboxes[n].set_value(true); set_dirty(); start_tx(false); + } else if (tx_mode == SCAN) { + abort_scan = true; } }; } diff --git a/firmware/application/ui_lcr.hpp b/firmware/application/ui_lcr.hpp index ae6e9137..860bafcc 100644 --- a/firmware/application/ui_lcr.hpp +++ b/firmware/application/ui_lcr.hpp @@ -22,16 +22,8 @@ #include "ui.hpp" #include "ui_widget.hpp" -#include "ui_painter.hpp" -#include "ui_menu.hpp" -#include "ui_navigation.hpp" #include "ui_textentry.hpp" -#include "ui_font_fixed_8x16.hpp" -#include "clock_manager.hpp" #include "message.hpp" -#include "rf_path.hpp" -#include "max2837.hpp" -#include "volume.hpp" #include "transmitter_model.hpp" namespace ui { @@ -149,36 +141,6 @@ private: "TX setup" }; - Checkbox checkbox_am_a { - { 16, 64 }, - 0, - "" - }; - - Checkbox checkbox_am_b { - { 16, 96 }, - 0, - "" - }; - - Checkbox checkbox_am_c { - { 16, 128 }, - 0, - "" - }; - - Checkbox checkbox_am_d { - { 16, 160 }, - 0, - "" - }; - - Checkbox checkbox_am_e { - { 16, 192 }, - 0, - "" - }; - Button button_lcrdebug { { 168, 216, 56, 24 }, "DEBUG" diff --git a/firmware/application/ui_navigation.cpp b/firmware/application/ui_navigation.cpp index a90f39d6..30e45aaf 100644 --- a/firmware/application/ui_navigation.cpp +++ b/firmware/application/ui_navigation.cpp @@ -238,14 +238,15 @@ ReceiverMenuView::ReceiverMenuView(NavigationView& nav) { /* SystemMenuView ********************************************************/ SystemMenuView::SystemMenuView(NavigationView& nav) { - add_items<12>({ { + add_items<11>({ { { "Play dead", ui::Color::red(), [&nav](){ nav.push(false); } }, { "Receiver RX", ui::Color::cyan(), [&nav](){ nav.push(); } }, + { "Capture RX", ui::Color::orange(), [&nav](){ nav.push(); } }, { "Close Call RX", ui::Color::cyan(), [&nav](){ nav.push(); } }, - { "Pokemon GO Away TX", ui::Color::blue(), [&nav](){ nav.push(); } }, + //{ "Pokemon GO Away TX", ui::Color::blue(), [&nav](){ nav.push(); } }, //{ "Soundboard TX", ui::Color::yellow(), [&nav](){ nav.push(md5_baseband_tx, SoundBoard); } }, //{ "Audio TX", ui::Color::yellow(), [&nav](){ nav.push(md5_baseband_tx, AudioTX); } }, - { "Frequency manager", ui::Color::white(), [&nav](){ nav.push(); } }, + //{ "Frequency manager", ui::Color::white(), [&nav](){ nav.push(); } }, //{ "EPAR TX", ui::Color::green(), [&nav](){ nav.push(md5_baseband_tx, EPAR); } }, { "Xylos TX", ui::Color::green(), [&nav](){ nav.push(); } }, { "TEDI/LCR TX", ui::Color::orange(), [&nav](){ nav.push(); } }, diff --git a/firmware/application/ui_record_view.cpp b/firmware/application/ui_record_view.cpp index 695a454d..186c014b 100644 --- a/firmware/application/ui_record_view.cpp +++ b/firmware/application/ui_record_view.cpp @@ -22,6 +22,8 @@ #include "ui_record_view.hpp" #include "portapack.hpp" +#include "message.hpp" +#include "portapack_shared_memory.hpp" using namespace portapack; #include "file.hpp" @@ -176,6 +178,7 @@ RecordView::RecordView( { add_children({ { &rect_background, + &button_pwmrssi, &button_record, &text_record_filename, &text_record_dropped, @@ -183,6 +186,10 @@ RecordView::RecordView( } }); rect_background.set_parent_rect({ { 0, 0 }, size() }); + + button_pwmrssi.on_select = [this](ImageButton&) { + this->toggle_pwmrssi(); + }; button_record.on_select = [this](ImageButton&) { this->toggle(); @@ -228,6 +235,24 @@ void RecordView::toggle() { } } +void RecordView::toggle_pwmrssi() { + pwmrssi_enabled = !pwmrssi_enabled; + + // Send to RSSI widget + const PWMRSSIConfigureMessage message { + pwmrssi_enabled, + 1000, + 0 + }; + shared_memory.application_queue.push(message); + + if( !pwmrssi_enabled ) { + button_pwmrssi.set_foreground(Color::orange()); + } else { + button_pwmrssi.set_foreground(Color::green()); + } +} + void RecordView::start() { stop(); @@ -342,6 +367,10 @@ void RecordView::update_status_display() { const auto s = to_string_dec_uint(dropped_percent, 2, ' ') + "\%"; text_record_dropped.set(s); } + + if (pwmrssi_enabled) { + button_pwmrssi.invert_colors(); + } if( sampling_rate ) { const auto space_info = std::filesystem::space(""); diff --git a/firmware/application/ui_record_view.hpp b/firmware/application/ui_record_view.hpp index 023fb0d5..985e5eee 100644 --- a/firmware/application/ui_record_view.hpp +++ b/firmware/application/ui_record_view.hpp @@ -64,6 +64,7 @@ public: private: void toggle(); + void toggle_pwmrssi(); Optional write_metadata_file(const std::string& filename); void on_tick_second(); @@ -72,6 +73,7 @@ private: void handle_capture_thread_done(const File::Error error); void handle_error(const File::Error error); + bool pwmrssi_enabled = false; const std::string filename_stem_pattern; const FileType file_type; const size_t write_size; @@ -82,16 +84,23 @@ private: Rectangle rect_background { Color::black() }; + + ImageButton button_pwmrssi { + { 2, 0 * 16, 3 * 8, 1 * 16 }, + &bitmap_rssipwm, + Color::orange(), + Color::black() + }; ImageButton button_record { - { 0 * 8, 0 * 16, 2 * 8, 1 * 16 }, + { 4 * 8, 0 * 16, 2 * 8, 1 * 16 }, &bitmap_record, Color::red(), Color::black() }; Text text_record_filename { - { 3 * 8, 0 * 16, 8 * 8, 16 }, + { 7 * 8, 0 * 16, 8 * 8, 16 }, "", }; diff --git a/firmware/application/ui_rssi.cpp b/firmware/application/ui_rssi.cpp index ab506906..c494e089 100644 --- a/firmware/application/ui_rssi.cpp +++ b/firmware/application/ui_rssi.cpp @@ -21,6 +21,7 @@ #include "ui_rssi.hpp" +#include "baseband_api.hpp" #include "utility.hpp" #include @@ -88,6 +89,17 @@ void RSSI::paint(Painter& painter) { r4, Color::black() ); + + if (pwmrssi_enabled) { + const range_t pwmrssi_avg_range { 0, 96 }; + const auto pwmrssi_avg = pwmrssi_avg_range.clip((avg_ - raw_min) * 96 / raw_delta); + baseband::set_pwmrssi(pwmrssi_avg, true); + } +} + +void RSSI::set_pwmrssi(bool enabled) { + pwmrssi_enabled = enabled; + if (!enabled) baseband::set_pwmrssi(0, false); } void RSSI::on_statistics_update(const RSSIStatistics& statistics) { diff --git a/firmware/application/ui_rssi.hpp b/firmware/application/ui_rssi.hpp index 08eeadcb..d07f26b0 100644 --- a/firmware/application/ui_rssi.hpp +++ b/firmware/application/ui_rssi.hpp @@ -46,11 +46,13 @@ public: } void paint(Painter& painter) override; - + private: int32_t min_; int32_t avg_; int32_t max_; + + bool pwmrssi_enabled = false; MessageHandlerRegistration message_handler_stats { Message::ID::RSSIStatistics, @@ -58,8 +60,17 @@ private: this->on_statistics_update(static_cast(p)->statistics); } }; + + MessageHandlerRegistration message_handler_pwmrssi { + Message::ID::PWMRSSIConfigure, + [this](const Message* const p) { + const auto message = *reinterpret_cast(p); + this->set_pwmrssi(message.enabled); + } + }; void on_statistics_update(const RSSIStatistics& statistics); + void set_pwmrssi(bool enabled); }; } diff --git a/firmware/application/ui_xylos.cpp b/firmware/application/ui_xylos.cpp index 705467e9..ceec2e5b 100644 --- a/firmware/application/ui_xylos.cpp +++ b/firmware/application/ui_xylos.cpp @@ -21,20 +21,11 @@ */ #include "ui_xylos.hpp" - -#include "ch.h" -#include "hackrf_hal.hpp" - -#include "event_m0.hpp" -#include "audio.hpp" #include "ui_alphanum.hpp" -#include "ff.h" -#include "hackrf_gpio.hpp" + #include "portapack.hpp" #include "baseband_api.hpp" - -#include "hackrf_hal.hpp" -#include "portapack_shared_memory.hpp" +//#include "audio.hpp" #include "portapack_persistent_memory.hpp" #include diff --git a/firmware/application/ui_xylos.hpp b/firmware/application/ui_xylos.hpp index 8cba3de2..287578d5 100644 --- a/firmware/application/ui_xylos.hpp +++ b/firmware/application/ui_xylos.hpp @@ -22,9 +22,7 @@ #include "ui.hpp" #include "ui_widget.hpp" -#include "ui_painter.hpp" #include "ui_navigation.hpp" -#include "ui_menu.hpp" #include "ui_font_fixed_8x16.hpp" #include "bulb_on_bmp.hpp" @@ -32,8 +30,7 @@ #include "bulb_ignore_bmp.hpp" #include "message.hpp" -#include "max2837.hpp" -#include "volume.hpp" +//#include "volume.hpp" #include "transmitter_model.hpp" //#include "receiver_model.hpp" #include "portapack.hpp" diff --git a/firmware/baseband/proc_nfm_audio.cpp b/firmware/baseband/proc_nfm_audio.cpp index 5020d8da..5eedc5f7 100644 --- a/firmware/baseband/proc_nfm_audio.cpp +++ b/firmware/baseband/proc_nfm_audio.cpp @@ -32,7 +32,7 @@ void NarrowbandFMAudio::execute(const buffer_c8_t& buffer) { if( !configured ) { return; } - + const auto decim_0_out = decim_0.execute(buffer, dst_buffer); const auto decim_1_out = decim_1.execute(decim_0_out, dst_buffer); const auto channel_out = channel_filter.execute(decim_1_out, dst_buffer); @@ -40,8 +40,23 @@ void NarrowbandFMAudio::execute(const buffer_c8_t& buffer) { feed_channel_stats(channel_out); channel_spectrum.feed(channel_out, channel_filter_pass_f, channel_filter_stop_f); - auto audio = demod.execute(channel_out, audio_buffer); - audio_output.write(audio); + if ( !pwmrssi_enabled ) { + auto audio = demod.execute(channel_out, audio_buffer); + audio_output.write(audio); + } else { + for (c = 0; c < 32; c++) { + if (synth_acc < pwmrssi_avg) + pwmrssi_audio_buffer.p[c] = 32767; + else + pwmrssi_audio_buffer.p[c] = -32768; + if (synth_acc < 30) // 24kHz / 30 = 800Hz (TODO: use pwmrssi_freq !) + synth_acc++; + else + synth_acc = 0; + } + + audio_output.write(pwmrssi_audio_buffer); + } } void NarrowbandFMAudio::on_message(const Message* const message) { @@ -58,6 +73,10 @@ void NarrowbandFMAudio::on_message(const Message* const message) { case Message::ID::CaptureConfig: capture_config(*reinterpret_cast(message)); break; + + case Message::ID::PWMRSSIConfigure: + pwmrssi_config(*reinterpret_cast(message)); + break; default: break; @@ -83,11 +102,19 @@ void NarrowbandFMAudio::configure(const NBFMConfigureMessage& message) { channel_filter_pass_f = message.channel_filter.pass_frequency_normalized * channel_filter_input_fs; channel_filter_stop_f = message.channel_filter.stop_frequency_normalized * channel_filter_input_fs; channel_spectrum.set_decimation_factor(std::floor(channel_filter_output_fs / (channel_filter_pass_f + channel_filter_stop_f))); - audio_output.configure(message.audio_hpf_config, message.audio_deemph_config, 0.8f); + audio_output.configure(message.audio_hpf_config, message.audio_deemph_config); // , 0.8f + synth_acc = 0; + configured = true; } +void NarrowbandFMAudio::pwmrssi_config(const PWMRSSIConfigureMessage& message) { + pwmrssi_enabled = message.enabled; + pwmrssi_freq = message.freq; + pwmrssi_avg = message.avg / 3; +} + void NarrowbandFMAudio::capture_config(const CaptureConfigMessage& message) { if( message.config ) { audio_output.set_stream(std::make_unique(message.config)); diff --git a/firmware/baseband/proc_nfm_audio.hpp b/firmware/baseband/proc_nfm_audio.hpp index 4c39d78c..b71281d8 100644 --- a/firmware/baseband/proc_nfm_audio.hpp +++ b/firmware/baseband/proc_nfm_audio.hpp @@ -56,6 +56,12 @@ private: audio.data(), audio.size() }; + + std::array pwm; + const buffer_s16_t pwmrssi_audio_buffer { + (int16_t*)pwm.data(), + sizeof(pwm) / sizeof(int16_t) + }; dsp::decimate::FIRC8xR16x24FS4Decim8 decim_0; dsp::decimate::FIRC16xR16x32Decim8 decim_1; @@ -68,8 +74,14 @@ private: AudioOutput audio_output; SpectrumCollector channel_spectrum; + + unsigned int c, synth_acc = 0; + bool pwmrssi_enabled = false; + uint32_t pwmrssi_freq; + uint32_t pwmrssi_avg; bool configured { false }; + void pwmrssi_config(const PWMRSSIConfigureMessage& message); void configure(const NBFMConfigureMessage& message); void capture_config(const CaptureConfigMessage& message); }; diff --git a/firmware/baseband/proc_wfm_audio.cpp b/firmware/baseband/proc_wfm_audio.cpp index 2e553a7d..5771854d 100644 --- a/firmware/baseband/proc_wfm_audio.cpp +++ b/firmware/baseband/proc_wfm_audio.cpp @@ -31,7 +31,7 @@ void WidebandFMAudio::execute(const buffer_c8_t& buffer) { if( !configured ) { return; } - + const auto decim_0_out = decim_0.execute(buffer, dst_buffer); const auto channel = decim_1.execute(decim_0_out, dst_buffer); @@ -44,32 +44,49 @@ void WidebandFMAudio::execute(const buffer_c8_t& buffer) { channel_spectrum.feed(channel, channel_filter_pass_f, channel_filter_stop_f); } - /* 384kHz complex[256] - * -> FM demodulation - * -> 384kHz int16_t[256] */ - /* TODO: To improve adjacent channel rejection, implement complex channel filter: - * pass < +/- 100kHz, stop > +/- 200kHz - */ + if ( !pwmrssi_enabled ) { + /* 384kHz complex[256] + * -> FM demodulation + * -> 384kHz int16_t[256] */ + /* TODO: To improve adjacent channel rejection, implement complex channel filter: + * pass < +/- 100kHz, stop > +/- 200kHz + */ - auto audio_oversampled = demod.execute(channel, work_audio_buffer); + auto audio_oversampled = demod.execute(channel, work_audio_buffer); - /* 384kHz int16_t[256] - * -> 4th order CIC decimation by 2, gain of 1 - * -> 192kHz int16_t[128] */ - auto audio_4fs = audio_dec_1.execute(audio_oversampled, work_audio_buffer); + /* 384kHz int16_t[256] + * -> 4th order CIC decimation by 2, gain of 1 + * -> 192kHz int16_t[128] */ + auto audio_4fs = audio_dec_1.execute(audio_oversampled, work_audio_buffer); - /* 192kHz int16_t[128] - * -> 4th order CIC decimation by 2, gain of 1 - * -> 96kHz int16_t[64] */ - auto audio_2fs = audio_dec_2.execute(audio_4fs, work_audio_buffer); + /* 192kHz int16_t[128] + * -> 4th order CIC decimation by 2, gain of 1 + * -> 96kHz int16_t[64] */ + auto audio_2fs = audio_dec_2.execute(audio_4fs, work_audio_buffer); - /* 96kHz int16_t[64] - * -> FIR filter, <15kHz (0.156fs) pass, >19kHz (0.198fs) stop, gain of 1 - * -> 48kHz int16_t[32] */ - auto audio = audio_filter.execute(audio_2fs, work_audio_buffer); + /* 96kHz int16_t[64] + * -> FIR filter, <15kHz (0.156fs) pass, >19kHz (0.198fs) stop, gain of 1 + * -> 48kHz int16_t[32] */ + auto audio = audio_filter.execute(audio_2fs, work_audio_buffer); + + /* -> 48kHz int16_t[32] */ + audio_output.write(audio); + } else { + for (c = 0; c < 32; c++) { + if (synth_acc < pwmrssi_avg) + pwmrssi_audio_buffer.p[c] = 32767; + else + pwmrssi_audio_buffer.p[c] = -32768; + if (synth_acc < 96) // 48kHz / 96 = 500Hz (TODO: use pwmrssi_freq !) + synth_acc++; + else + synth_acc = 0; + } - /* -> 48kHz int16_t[32] */ - audio_output.write(audio); + /* -> 48kHz int16_t[32] */ + audio_output.write(pwmrssi_audio_buffer); + } + } void WidebandFMAudio::on_message(const Message* const message) { @@ -86,6 +103,10 @@ void WidebandFMAudio::on_message(const Message* const message) { case Message::ID::CaptureConfig: capture_config(*reinterpret_cast(message)); break; + + case Message::ID::PWMRSSIConfigure: + pwmrssi_config(*reinterpret_cast(message)); + break; default: break; @@ -114,9 +135,18 @@ void WidebandFMAudio::configure(const WFMConfigureMessage& message) { channel_spectrum.set_decimation_factor(1); + pwmrssi_enabled = false; + synth_acc = 0; + configured = true; } +void WidebandFMAudio::pwmrssi_config(const PWMRSSIConfigureMessage& message) { + pwmrssi_enabled = message.enabled; + pwmrssi_freq = message.freq; + pwmrssi_avg = message.avg; +} + void WidebandFMAudio::capture_config(const CaptureConfigMessage& message) { if( message.config ) { audio_output.set_stream(std::make_unique(message.config)); diff --git a/firmware/baseband/proc_wfm_audio.hpp b/firmware/baseband/proc_wfm_audio.hpp index 6b0c5e17..c2726e8f 100644 --- a/firmware/baseband/proc_wfm_audio.hpp +++ b/firmware/baseband/proc_wfm_audio.hpp @@ -54,6 +54,12 @@ private: (int16_t*)dst.data(), sizeof(dst) / sizeof(int16_t) }; + + std::array pwm; + const buffer_s16_t pwmrssi_audio_buffer { + (int16_t*)pwm.data(), + sizeof(pwm) / sizeof(int16_t) + }; dsp::decimate::FIRC8xR16x24FS4Decim4 decim_0; dsp::decimate::FIRC16xR16x16Decim2 decim_1; @@ -70,8 +76,14 @@ private: SpectrumCollector channel_spectrum; size_t spectrum_interval_samples = 0; size_t spectrum_samples = 0; + + unsigned int c, synth_acc = 0; + bool pwmrssi_enabled = false; + uint32_t pwmrssi_freq; + uint32_t pwmrssi_avg; bool configured { false }; + void pwmrssi_config(const PWMRSSIConfigureMessage& message); void configure(const WFMConfigureMessage& message); void capture_config(const CaptureConfigMessage& message); }; diff --git a/firmware/baseband/proc_xylos.cpp b/firmware/baseband/proc_xylos.cpp index 973441e4..0b64c186 100644 --- a/firmware/baseband/proc_xylos.cpp +++ b/firmware/baseband/proc_xylos.cpp @@ -21,10 +21,6 @@ */ #include "proc_xylos.hpp" - -#include "dsp_iir_config.hpp" -#include "audio_output.hpp" - #include "portapack_shared_memory.hpp" #include "sine_table_int8.hpp" #include "event_m4.hpp" diff --git a/firmware/common/message.hpp b/firmware/common/message.hpp index df1d1c9a..a07b1c42 100644 --- a/firmware/common/message.hpp +++ b/firmware/common/message.hpp @@ -69,7 +69,7 @@ public: Retune = 21, XylosConfigure = 22, AFSKConfigure = 23, - ModuleID = 24, + PWMRSSIConfigure = 24, FIFOSignal = 25, FIFOData = 26, MAX @@ -479,15 +479,24 @@ public: int n = 0; }; -class ModuleIDMessage : public Message { + + +class PWMRSSIConfigureMessage : public Message { public: - ModuleIDMessage( - ) : Message { ID::ModuleID } + PWMRSSIConfigureMessage( + const bool enabled, + const uint32_t freq, + const int32_t avg + ) : Message { ID::PWMRSSIConfigure }, + enabled(enabled), + freq(freq), + avg(avg) { } - bool query; - char md5_signature[16]; + const bool enabled; + const uint32_t freq; + const int32_t avg; }; class XylosConfigureMessage : public Message { diff --git a/firmware/common/ui_widget.cpp b/firmware/common/ui_widget.cpp index 71247cc7..021a9f7f 100644 --- a/firmware/common/ui_widget.cpp +++ b/firmware/common/ui_widget.cpp @@ -369,13 +369,13 @@ void BigFrequency::paint(Painter& painter) { digit_y = rect.pos.y; if (digit < 16) { digit_def = big_segment_font[(uint8_t)digit]; - if (digit_def & 0x01) painter.fill_rectangle({{digit_x + 4, digit_y}, {20, 4}}, segment_color); - if (digit_def & 0x02) painter.fill_rectangle({{digit_x + 24, digit_y + 4}, {4, 20}}, segment_color); - if (digit_def & 0x04) painter.fill_rectangle({{digit_x + 24, digit_y + 28}, {4, 20}}, segment_color); - if (digit_def & 0x08) painter.fill_rectangle({{digit_x + 4, digit_y + 48}, {20, 4}}, segment_color); - if (digit_def & 0x10) painter.fill_rectangle({{digit_x, digit_y + 28}, {4, 20}}, segment_color); - if (digit_def & 0x20) painter.fill_rectangle({{digit_x, digit_y + 4}, {4, 20}}, segment_color); - if (digit_def & 0x40) painter.fill_rectangle({{digit_x + 4, digit_y + 24}, {20, 4}}, segment_color); + if (digit_def & 0x01) painter.fill_rectangle({{digit_x + 4, digit_y}, {20, 4}}, segment_color); + if (digit_def & 0x02) painter.fill_rectangle({{digit_x + 24, digit_y + 4}, {4, 20}}, segment_color); + if (digit_def & 0x04) painter.fill_rectangle({{digit_x + 24, digit_y + 28}, {4, 20}}, segment_color); + if (digit_def & 0x08) painter.fill_rectangle({{digit_x + 4, digit_y + 48}, {20, 4}}, segment_color); + if (digit_def & 0x10) painter.fill_rectangle({{digit_x, digit_y + 28}, {4, 20}}, segment_color); + if (digit_def & 0x20) painter.fill_rectangle({{digit_x, digit_y + 4}, {4, 20}}, segment_color); + if (digit_def & 0x40) painter.fill_rectangle({{digit_x + 4, digit_y + 24}, {20, 4}}, segment_color); } if (i == 3) { // Dot @@ -665,6 +665,15 @@ void Image::set_background(const Color color) { set_dirty(); } +void Image::invert_colors() { + Color temp; + + temp = background_; + background_ = foreground_; + foreground_ = temp; + set_dirty(); +} + void Image::paint(Painter& painter) { if( bitmap_ ) { // Code also handles ImageButton behavior. diff --git a/firmware/common/ui_widget.hpp b/firmware/common/ui_widget.hpp index 6bb59d6c..4af3b352 100644 --- a/firmware/common/ui_widget.hpp +++ b/firmware/common/ui_widget.hpp @@ -289,6 +289,7 @@ public: void set_bitmap(const Bitmap* bitmap); void set_foreground(const Color color); void set_background(const Color color); + void invert_colors(); void paint(Painter& painter) override; diff --git a/firmware/portapack-h1-firmware.bin b/firmware/portapack-h1-firmware.bin index 21644d685767dee3a8892766992d7c533b08192f..59dd8e63d86297632758e912e2e03616105bc096 100644 GIT binary patch delta 70439 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 delta 68865 zcmeycOm4y~xrQx_Tm0)qoEaDxSQrEx*%%lc*&*1_ih;q=ih&^zL_@`3av#z7iBP_w z1OvlENr--!S|aFrxTQoWrh(de+%8UJW?(2}W&i`-mmho`zwIz++ra!m@{i-U9Y!o} z42sMjvi~W#F{n0rJN)3WR&onbuJ>e^%J^Z&KbDUwY+i~iA7vPrKM4M0`DVdx;HK&3 z|Airm`9t78|1S)63d)*p4oXKvf9$AW`F4h($p6R>jTc9L?6ElVLnUMKf-O>N#{V?k z5|miJiXiFf+_cyq74K6qhtF>0Z*F z7yJw?-%jYPfvUUzL*`-63ucCW5OH;uZ$EVQCH_maOR7uSm-H`*<=Y?iGd~y-_>a#6 zoBBtY<*RXhQahOAVVD1*oZbHe1DF2?2JU%@nr`LWiK zs{Ow-Bpvx-5q;!`OZ2&y46B(xtpCfR#`3j1SppndZAnLdq~x=Fof~%KM@IaS9|`tH zegwoH`4Q58U`^4IaxLSq9r(*j5!vlu)LVgAthmu;ovw>3tN z-!>RKep_Ph_-%!m;}0HRmK9F}mj*5kcpAd^VfioS83G%bGomwQxU;Na{ILEP3!KlO zz_wxUix0gXb_@&*5A+xk>=+mnKx}Z5fDnw{OkPscZ37u~>o*u5j$z(e;BK&$#ck>a zhHomYTyENK8E!1!&M-25$p4q+rtQYMg5|47BIAdE|JrV>tGHIMe0w6u^r7$v*GdI9 z#t&2fa;?1b#yA73;<;l}jg%1^FU{3}?#?OC=K3)$70g5%}>gor~#1#Lw$*6|3&Q z70sIdR;eoe-Lfk6cWPCC-aW5k`)ZmX{%(TQpLfTrj{W!|DgJJPm88qDA3rR2{Qmfn z=|k{O_K$Cv=D+3OV*hxBk?k9Y0@H`W|DbqaRQeRM_r-@shW!i;*6wG|_}Ifd0HV1w zxUB2hwN-E2f5H4gK~6Er;Qaf_51r^EKXkJH zZoK;A1OvxL<`0^`G~D*SC~#o@AhYZL_oV#{UriI3KJ437;C|tUPWFKxI?;X`uR+xc z|1yB8W!qJN6p9vGFVz3gi5Bu^PGE7fg&Y0nr-mEzhmSw6{CL6Hu#x%0m!DUDJmCac z`u-;3`EcSwA88qHs{O}x{c0gW(VvDU8e&|GtpqYOLZ2m#8 z`4%%aGJiM%w_rcig2PY?=Kof3WB#z_C&HRH7vDZ-*zaLC{ha}$8w>M?W4|X~*e=TQ zoB2cI^u|~wQ5NP8wZEt5g)@pVE&M&%?z;?=)ZfW5-z}H~oTuLlXH;Tpu$#Q=`y{qN zb_RwR_Q`rXce8?7o8Rp$XPmyUiK$YA>BHRp1@1dU83gu-G6)3+8u6_|4VPY&o6VOn7~x$d_DW5D$F&P-yAcGLewGb%9}Pgjg#6lU6CH~HOf zB}Vb-iY`ndjCRxWVi+};e*BxB;KC%!Xg4|Uj{@V3>GNHf5BdIe~gS$OaczmrI;AMaTz!;Ft|7{ zFeo@omttmI#@67#z>woGoiBy4icP|ifq}(wdS42o9}|n?^m{3cj~PX#@3Ui6*glJu zQH+tTz>$F=!EyS(G)6n71&-7IJ!M?RdGbHwhv)y9KKM>U(JoBCDf#Y^P9>!ygOdL+r?eZ99`0oAn z|I*;p=*FPP^ugfAbOk=fE~Z6)r+;u~Oq$Ne&nUo?@fVc37Kkwja5zoR^I%k)9>CAY z!^Yvnzz`@q+3rFH)2%<#H|%CqnEr;JF-zddKgQKgZZ{>vesD4{ez^N@`?>-~8z!c6 ze>XQ=7GYwU{3~YT)8uovoS1ZfP2cyO zv5zVB|MY)Vj3G>2Kc}A&W2~EgshTl~U-GAw8}Dm2Mo{1|eh`}OT*DZuBK}i9BRk{B zj{^zJzuCVZ`Eew`!j0j>o_~#Q@*Az(4BZ$%u>G8zaCZR<`nEE{|5*D-ZCZLe!$3}6)W`OCUG%8mIo7vqf|3=9k(T&CY|W_0J_ z0GAsQ8Vmv*PSf`tWmK3R)WRsl)&UOk=~*p|ag%MHrA^msW#pQ?=9$LygjU8R{-8gI zM8NRDd-}yz#-~gievkWc@b_)l7FX>_6ZH5@BFq^!WQ-cPGRCGe~^ZoecYLIBgH= zVbo$~`v8(~p5D~YxSyAmf#D%51H(jS1_nmf=^v-FX>ESzo`s3Sj~L>>8Yrwi7= z6@j&GAuZY$dMw{0Y^L*FWKlM*R_HsM&qb6F@?c5KBgmXVw5?H=kB^>$DQ+?#egz6(dI--yKm=b*k+zAnjKXgQcO4-~O0C4Pp8EAdLBg!f#MZ_KS_*qOg`}0pdMr{q7geE zr4j4H$oRqjpSD{TxDm^n$oPTdKP$M|TJqQN8;c{$*9QT~5p1&%X>}Nc}3w6)fLE1Q|bM z|Ce0J@-0Gv>BGAJ@*52HN=qdNT=}7+dF6+JCF@F1_%nSt`QzMkP=m2xD~}ti8@o0u zxYbz9BG1B7%)(l**C&HPr{Dsp)wt)UBDmFf;Mdh3HQq;m)MPX0yt{A(+7>+eQvuo* z^xUzN;p>B7Pzd{f`4GUMD3QRZyfT3Gn-92A&GM0lk?}*{U;i%*Ml2s)7+JsaCNO?T z`*;7Xde)S;{8d-p3RGQrYt1$Pt;+QND~zJ`M}O#8f||xZ-X(Ay1-bm2i2&0FyB{nc za~N5_g$OWyc=3R+fc&})HYORv;;Q|1=$%GWI#>BU2G8M z=65^G7#Rz}t;6YDw-|+(E?9yZgnCR5EI|!GGo}}opqAhCWw#i`m_Are-*=1AjOm9Z zsKqy3;x?lQBg1sv+l=l^99E!)-t=j=8ReJ+tU&ENekGK4p2YNrw;A;r6{ZW`VQgkH zu$tWWH;u`~YPww<<9Svq1_l=^a68V$3e=7(XS4z}=!1y2TrkGr9X97+jnP!L zz>r*@EbM7vp!}iaAG4|ggKDavXNZCFhunV(3{TVeJqrw!KcxRtW>8@0FqTc=@$4~B z{t*99nPG{sTmq*T$XV(irvEG08{o#EAfm|3Ag;*FAf?F6!2E@YK~9mGK}iwf5J7t; zsCO6`3bqRP2zV+msC>}+&!rlmz_2ut&r`-g<%9BnCXkDgxjiimR6fZ32RVn+GsHmU zgV=v&We%^$X&hj`#{VnW`@@Yv0c07-(iA0Tuw@`0KMa^2$IK!ot^UCU93o3RA)&f3 z8t#DU@ysluLh2uMzzViN6*R_d-^R=m#Lvbsjfufw+IBu+mPO1=4b!%75@VSo#`NOH z^Z;F!45k?g+jr@*Tw`Q9Fm3uIeU>_=fEm+;3|QJEls|a=2SwunM+Su>jtmMHrZF*` zaAZ)J-eABYA*B4l2u1eRwCT4DSmeZ%KS=#&R8~$v)_H&0bUs5CEivT}zy2|x$vv4i z-47yn>mRzlm(!;ALF9H}=zBM9`Z+@u9SP+RGyf@PFd8c-ByAJe3v=t|Y14&_STrP* zKU9Kbtx;uvOq(8L#G)po{2>Y)VlZ8Qr%mrNVv$o){@{cn&O9CBbAhc)-VzDQAB_J^ zKV`&H#3V3%x}7nLADirSCI+49(6pZ?33WgAn_^y!;SSWbcHI#ZS+5dF!N zt3Kv3;D$#K1gjdX^1~7gN@(>Dz2r%$O$6+WyXl zg^h{r{wyYjceAGdvSUeOQkXqG$(|*QDPZCBUG^-S*aBuVF~rWEUgW@H$F^lQ6T_L= z)3-UW%wh|e!^99fXL^_;ixXSU943Z}In(DkvNW+xpToqkWzKXpCzc|%%X63*-p`pn z&xu8fiEZxmT_9Rw?(}O;EKy7bbEg|Qv&>=&m^=NPGm9Qm{M_mPoLR&`d@&amGo}f1 zxBI!U%wuGmKbMJN-Q4M)Tv?LX_RnQvI6ZfIlp9MF+s(O54A16H-{r=l#q@RV^k;4? z^Vk^YF);|wo8INlqQz7&cltJW7AH3Kc}xr@^QQlEXE9@Qp2x)CKX1B~2TKv#hIvd3 zd*@Bxjz-ObjCPrx$s$)bVjGU}BJ3 zz{H@lfQjMP{OSKZS+tm@FPN_7#UjPDa=~^tFBTCl7R3*lf2YTVux#TxumBRFPZw;L z3uTdFWa3&l-71Xb5QzR4#&Usa!|&-A!da#;87$nM7QwQIiD}x8?JChMDU3`D7H;o~ zVKL%iU9gaeVZ!u8dlupCS29?9c;(9fC@_F>mc<%K<`>w?!tnq5oBs+7@*gt)Ot&jz zkzrBzp!j!sTp5d))QPnaRiJ_jqVfq?rQ@IJePt|aOciUVZ!2T5V7l>V`iC+W86}NH zObj=mCWG{VFht)Ou)dGKr|Xro$T29RI#Y*k)Zv_Soga6<4|0^*3|8DbNfuUgU zi49B)5IuLmdN%%^zOJ0bjHzS&^k?NPIxOrT-u|C1R>6|SE)EGZJpUzmtA};0pkI|IP z`P(LT-H#U;^!P4RRsXCK_h9<)|NnHODi$lI35%xZRk4^c&Yixrilvlk){p5j)ht`o z+P;ruTKMaJ1m8OaG3LyGq@dMJFD_HVEEhZELh||g#Vpx zRKrprp7+Cof%${-FSZ9D+WZ%zq5%WrhvexyYgnXtWk0n1=kk#MaPkMkhw$kSYgnXN zWIsIkKdqLfZaqu|WXdSufb?ki*Ns`XT!diyY?#<_t}S z*;zB(88nzLDlo8o5SaeImL-(Yb$VzWi?X;fT+MB`8s-ltruWyeg!3tUxc$$FfkDxN zLE*!-f78Fzu~@JueAw}Cx#3QhsqLD>o!J+%R6;5Mcbcfoo<`2IC9{W!4YjzYLUF))_av$d<4!ZeafK z{U196&uRq*3olDguF3zu>;F||uwr1D$vA`cL*q|SGMx8+dP*aUh0e);tPF+>3JeM# zTz)GvXfZH@)r5i76#r*Xl=NnpWx#MTME*n0|LG?hSrWJwEMj7Kvxte|)}rY~O)O<1 zzyByOfMRNC;?qRcBozaN51;-_-_ykMgy-!dM8cka!I4p9`+;T_7RGwk9}FKh|6*iN zU|{&L{6C27`Ooyh={JaV{x68U112~AW&B|Ni|Iq?FZmCf|1fAUUX=SF{#X8k>R$+3 z@NdChfyGP=3<(?#oSX~{Ej$bi3=aGb9ZC!gJW31<97+rf4NI697#1@z6f9w4SRlfn zAh4BB%!BE}k-v-|PW@u~;P6}igWX>)4~7rU(<571npG@+YcVK$img!iVDejwLCI5N zg~A8@-z`dt3_%P`Yphl%e9-tkt&K$@N&2@IgV@UM6$&53erqvktem?-;e+7s7A32d zK@96xD16}l{YCMWGSezgh9C*Xnb8av13s;gP*P-2`0(#n&5Hlu7yoBbVES<4*H7iy z40ByR?3MZR|NjAyW0x{91T1A@n6PAeRU3<(%aS4v zaPHUiEp04nV!M7BG03hASfTJ?>o5J4Mhryi&jL|ulf!D_byn<#BgCL zA~Gf@F>F1#A&7z1Gs8{cL&vWSxBuUD|1&BueF*yHxq)HtgC2xhQ0XG3%&@g{10#c| z64MIC$qFCxe@!oHXR)de`~@mezWwvu@ByA-gtu~gGft4IkYQlZV!FWT@#}lpUj`)( z@2F%BZ^jvHr{zBA{b5u%pr}yr>wDpE;k{p6859mIWn%baz~ZoB2@`|-R&F2V3I=V# z3yccCzBl~lP-b4iJo*3k!~fX4*u1B>F(^rAC>1bHPIkF9-MfQDRet$D;k^%f5f0{8 zX5Y#%nL#n`c#`$U_x4|`G7mC-e4qT6QAR`N$M@wwzJC{;zO|o4UA7XcB=r}Yi~_@t z?}dLEWej9~d~f~n{rl(bKl@qI8QG`*VfFa^y=Qv*L>71Lf?k?LNetS*E;cA7=WuxlJ13|7{vP*-!{hh&;O#djvUD@D9azT1@L}2XtjR1dWRCr0 zVPMc@x}c!0;LG?xL7h=mK#4(-Wrh3)%|Fxgrm&u-f${x&{on83-~O7ut)E3rHV~@D_CF*v zJb!^g!?*8k|5+JQool68CMYs!FvxzG_nUbFs6hSpz4AZHZ04CP3>pkvlR2k< z`(C*H?sS&fj7$c7+pA`>STQlh{+PaPHcN%_g`b)XY)Y&OzrUaU*`Ua#bdnLoKKheE zL6ae&m`&;T_x;lY=diRg@%*2DV-8Dz_~U;{UYrk@6cs%@oj8>mBr6>ml)rtyG2MPH zi!LYU|4=0mcklGlxh&JUHY{fX7sU?Cr;E*FiO}8fV~x|-i=d9F14srO=nblDKJ4Ca z8J`B6RQUCM{|{DgR*$CvzrOF9K6@TZCS&S!*7+>4694|lILKKqcF@Y1<*bzgGU38< zCWd>vHyBkJ9x$m&C`~LiotQW{Zv!`<|V0kZ^ z{U74nU*FUIGbwQ>GAsQ0o;aO%A&G{LU?|05OZ z%2PixilTqk&kpBMN=qD%%fBW9|C$)o3 zWsAylJju!`^X7o=3n!!O^vD$~ zvVtc6Jw3mDm;47J?f!iGzGiy+3KnzS13#E&GtFX?nIZN4`>r1lM~eMnlri!6_MPd! zvFEq%&;No*o`Wwp*`fS<1-e(8t7ZppS{+!iwpyHn7;SY5xZ4*{-*drG$}(@2`Rq zgQCC+*$|>ea0vVc^%O3wnZ9fn ziw2{>^z*w|WP=$03G4+m&ZR%d`~pdXiYW+R1dY#w#%Dp{|Np+`zXF5who3*E+wEqN zVtV~^dem+fDHfRzIsc|t>}F9DVEE0T3~E;^FbEe2?46`Eecf)B289pc?#qXjhyn;? zJEQ|6{h{#ZbiX|;8X9N*C@{zv{QiCdthxcILjq9^>cmKY@ccP_-X0bWi$6bQOn*FA z$oc=>{=Wi)j=}Hmv!VK@{{eMK4!C_-1+fpJ8`Le4{vi2t`oBFa3JMo~LhLF5+vTtt z)_DPSsiZ&r{4w2bFN+R~%!kJR)ARPSNHHx~HN9&uixG>=hlu~v5A0=eVUhV@@_#zV zJ{AMU$I~tMu}o&B{?Aq8S~g*Y9U>XOx+Kd_Rk+a^+v93Ct6jW-!lW zS^Z3cONl}G%lG`hApWL824ya#FW)n!%O79~W;`~%_yCJKBs_C;1 zvIH>xn*RDAizd_8pVP$-v8eGr{Q0_rZ6^CH3kJpylc#$gVo_yen4W)#C7W^5^xKD6 z92qsI%N}NlmUI58$-uHg#!%)%+Ao&XN(>A$L7kq8A1o`RKTQ2MecE9bH%8CtcMr1| zGH#g8e}u)5@&0tjBP@!HZPSyFuS7`N_AM zXBFp6<{1nh`u>AtR{s^<@L}%(w+Abk7{CLIi>6l{W$}{^{?GD2gW>=8{eO5)@Eqq_ z|GR@@W>SU$1H*@7(;pvYQB`30@asRGOBG z#xWKXk)J<6JrwqtAdTGMRIBlKdciRkJ;oQ)=O1ISWSl(x<}nsotu;SD&h7kd$iO^7 zgF)uQk{{X(Rt%tC3&V$P|1=n+KV1G}z##qM!k_61$63^*_xuE@-}#$qErSO81rYo9 zZ$<_U28Ivq(-V)g$Vz4W;99N4zzDXu>L1q%=?~NYfI@G|pY1b_vj{LTIjow#>LiOC zh(2|aMTSTEgYka_2D`ln+%Bw{{^=x(7E|Ew>2jx7q?iu>o^ExD#fWLb>gjo>SnQY{ zte(E^6ib<$^oJ?`lo?o*6c}8Lkp95@d-|@^EHW(8AFTgPzjc~Li%DVabha}rUegQCuoy6=PhWV3 zMOn50X&B+dRu+cV4GIi$3``T5C;k8KKKLW^%c5;0{o&YOko4{!ObnrtN-0SxOH-K7{ri6TAA>TBQbLLX!{Zd?I*|KV z!Aar6s_CE3vUo7gnr?lL#gys8%IQVtSeCI!e+c?JUFJN?KBiB9rr$ZwvW{uipXogp zSSB$A{F$zBk>wZDrQg$KF0n+hNPbBEH@)f-iwZZ#Uxpb=7+6gIeNUdg@)C?dst0kZSnd zVZ^{X^WXRO=?|~4STkBqm%YlO&nP(E7exJ>UVD{grS6iy?0XNmfs#CT-S@4m3_J|8 z*;%fFDvtl(_x;d+0IE>_f8Y57RISKO55C5tDfIKVB?Bl=T>by~IY^lE&-A`)ELwui zzZo=GFMzVb|L|NCA%{p2;4bmjTKSs!pP{QJK9H-pB9i<}R15*T#YE+}UxFi2<4 zaM#HA_q}g=@O2h*rdz+K_grW3V%qb2`i<)>VTumF88m_}u+HXM3$l-KGRvHQ->>~* zoXxE5enW!c(|3#M{x?{hnZ*82pK^m`5o64B^P4Q5OwWI9Z@S5HjFEBocF)@^Zy7nH zKFt0Ls%N&>-DP>gG+il#)o*&i1D3M-KYtLNj~NDkzkfmEHyZpm`1}1eR77BFjKSaU zPoO*o27#?527kZbLE^J8FnKd4Fn%cd2eN9%I!Iv;s@gypQs{$!73OS7^bH_ zWRaH3z@zl$zv=THvM9+(;8C;l-}HMAS;QDqr+Z^26JIkWnb62kahFAKZR}#yAu*BtI1XXHa6Ct(cLV zpulh{q-^hoMbqCsVo_sSv1+>5V-_VL*q~p*R$c}c2B{B|e@*v#%%aB;4H_@|u;JhI zhQ}-#T;1RhKj1dw+4N11S#)H6{LXNb{80N3lsNu=&-}~2!C>zJw}OpK3?&<<|9Z@# z6r}kp(+!lEM8PVf{;_Qk*jup?H5d!FvM~Jm{^b`d1EWHQ!+}k|zTf+$z`){pz<@!Q z;R3Vgzwgg}gG!x*jZ6#;o2TbJVNu}{|8Vu+ycLokl>SYh^MoZrX75ktHBz4QR!Ds~ z@I!%N-YVXe5+AC6fK%UVDDg0r^&(I&MWMvIZponecRtZN}j7PF-SG|dk1*> zP7d()Tj4d$XY&8=EB{Vc_VtQp$aaZp@$vTcjF{}}9l0WOTKMGu-)H|-s8?F19OM+u z@F>W`+tV|7vZr^-iiBxNlmCD3{kuom%`2MWd60ndqX1Vg7He0}{1uM^vZww3UjO%! zvJ+g+(Tl~}(X(pBqkyt$|GyXheW7dzm$UU^v9|SWUGXTOaoYdy$$$ST_e^6@i)OI& zf|y%x;l*P8D1dSOLP-mT|KAt?1?TGz$A5!(TmH5v>zK`EnCJBFV(S_O1|6IK-&g%z z?)3Ab2E#F)=9KV_;Bx!@!`niHX7S z9s|RJ-~ayyzF}Z+-o(U^c#nah@eKn*!X_q$#(NA58{aT6EWF3SkhY15;o%zwhJ*JQ z7;-i-F&KVgV0d_sfuVR46NBJe1_s9IXJ4==%jy5nV37Er@|)p-0fW1wLc;O{20i8r zppsqc!@-}^`ChUpG3HM>}w%NvRJ_Klgu*?>A*woWW+iIN|Ge zub(WsOcxaxetuW|%kC|a!Jxr(p+WKM_hr*Jzhtol^{3yxWQk&`{x#j}6-yjb@UQ8s zUa=H#3H@SaP-GDKu**d^iOb75*^o=kzTg(RpCeO<+;p58M7sfAX3|L6+S^;=^pP821PFAD}{o zaq9o?QU4iN{Qv%bdf*!tVf%$(OPaungg%(T6*+R^3;>ZJLps5(wF2wl`_T4#`js~< zDxAt-KGO&N>5Ok#)H%7qT$T^}ryIUy(d7E{0~9)3AN+nyPkGCt!gTw`^scuoAGo{z zwmJ!3WKj6|y>@!*I~HTc-_v)#V+rIa`pdCG^275V(}mu%sBoD41Mx2Ym~Qu;MT#+d zdgOZ+bwP&pObnHqm>7CDF)@66%fOI0ed2o-PYy1y&iWtIAAxk90rN6{Oy~Q+VkPzY zmj(m>h7WrMHZn0x*~G*!Nr{<3@Errg!-vz8KCpOkEd0a2Lh^&ykLg=Ju&8i!gLw=; zrau7jO8@Y$kofTG|8$;@EGiuFVBVGg(=9+ePcU!a|LG|oS+qDf{(@94{Xc!$M;0~3 zk6^jJ|C$Uc-kyd+la;;y8}hFZoc#ZL&OiPYKfY^Dzx$CzmPzW@^gkb2Y+MvJFfpv$ z#Kf?56BEPbO-u~$H!(5rZf0VT+|0xvyP1h$<3k1p#Rm)w58pB{7(M_+2?T>8=9Pj2 zgZPJ}f75F|vA8i^`!)T@Cl)&nzds5L5+7dwo6hx_MT)U?y6R^Zb%BY$6d5cS{(i6h z4U#^p8$RqU*Z`R!0)>waBQpczI|hbEsAbMM-?y?b@G*!pFlY;1 zJfR@|;n?5lTRyXxFeXob`I#k89Ii$K*I69cFk164@|&zKk{Yz9?LObm{X7#I}qGcXuF zVPJ3s(N7r|67MrGOnk|}(0CsbXa(Tr*pKht({A-W(goA`6O-X9hP0|lsmbik^Ag2ycmxPb~TkUb!b ztSj^9^g58PAAb}W91MPcX92rb;)BF5P-vWm>IP+NWL=Iwr=R=7qNG^=LxJJX_c?z# z)-h-ZUI4Mz{rL0!%?}0*E-+7jy5L_HQB#$l$2;0Om@^nBGtT(^UH6|c1M>v7nM^a- zXZ`)2_Xnh{7(B7IxR3n-h}ZJt&-X*qqyMtlib;IP`pdK0ih*?|D8JYI=2;=}Vdl^2 z>;AGRN%Q|x&U%{3FqvWYYA5jv4rdh@j5B6uFi!sc{nPZ?v1qb`#+815-!Ps3KTE$@#vern};n@G_TmG|XF?sx%{@_20lz`N4P)j8L2M?q}{%k52s|usXRDD+0dS-79W99@6 zgYVxv{(~Iw;TfX64RJ20%Odt65-bbz2!#Hym7QVo2Ih&33~VcYf1mM>Z8d|^>^O@o zmdR|ZnUrS7$y+c@W?RjoHZPuSHJj4xxB};HMaIb=zIXpFmSbU<;lyxPrk>%k^N-Bi z;_?@!)^6fj#WFcs5~6PT zCWyLP>B|lEO5Rf&xMp(CVxA%0@%Ov`FP7OntL{jGj9aoPxPei5GT2CwhRY2S-aIpT zq3W!EWxLJolJ4YN1u}}!M5N)5^Xv{C$;%CV-cuU*X7WSTssCb`EwBn^aj7&&_3VzR z4VN1PW-=%X&SLhP@%OvvFJW+z4w`m;fE4_oKn8WOyfauBPG%fV)X4boJ^t6~427iR zBv5Kl{8z9S6b0QIco`TOm{$D$eq;K6CRTOEGt-|lvFb7&oi57Es?NA^x-B!SqQiop z+#5dZMK&K4y^!cvF!=u61KcNdc#b{#CI3yI$IL2aHv2E6zl_kUV(|UD0$A?^9C|CHRfdV@ z*K`kdRymK9-yqXKc7i4=|9y`^;zRoX|G#&EN4$T$MT8_oJ*aSpWG2Bs)7P=HN{E;s z>1N3I_g&|=z~1Rm?5t`6f*Ar^z2#;)GI^ZbB=EuE&vXF}Rw=VjKUo+uGD-~oe18j? zYq-FqEaUv+yZKKxhK!5@27kUw{dQnvao)h7;QZse$xqO*%FAB`dqHCW4bvZRuzG|A zLoH-x;4m)U%EG`a$DF`_frH`Gce`JxqXXg}p8iIR4oG~k`vDmp5dV<*2V-=gj+0f+ z?cqKTP^Bqa5KZ_Mz?9 z^etShN=z<)rr+RVbz>3#@ciF&C2m%&`j0;q7* zVWNR%C5ZjtXOr@5hRn(b5`Vtm`nf=PHp5CV`^wJ(XfFiR+~Qz}G2mhN^L^t_jRpk< zka=rotxENQ{fM2u#WX7D|n=1 zjuU8Y24_W#f#;?_->bm0+@L|FKi^}fyYsNhvY-7AQvPUqHV>YePpv+L2&AvjXK=gz7fA*Og3=$uLe}LpXetCIeu((bJ`*%BA_CRU@oRbjFRO^kRO3vZbi9z2^a#>eVqSPz+S$@u?0>My9q1+~65D2RPn4DQMO`<@Q%DgOPQ z^pA1H-|ye2Pvm2jWUQLLnvYeJBlaKn3h@t4Kd0Z}W0m9Z0`v5LPG{n0O%ZSbuOln` zufEQJLHxtlAJfbDSq(UBz-n&(n7)pmRm|e(AJDw?pYJb!Dlq*0?)LZlcb&hCiYyEq zPD~d-tq<0Ji`kj4GAc67`2GF=Uqv1$iWD1)^Ad9U=aPV z=|8B?`v1EesFlgUIQ8%M!oMJ&vi(KwR)5&a#xQ*Y=fuC?yMD%b3#fA#8&97sz^cu0 z;}58%>HA~)F#%RB#`DuZ3b3kktOg4z{FtsF$g07S{THN!5HI+z0)yCx5C5k( z2(pT?pZTZ2@a=o&^tpnp;_Q3DoT}-&1zF|mcm3960A>GsKQtKrez*Sf{d?n|Uy7X! z@4vhLR%B2pFktxqUE;3+gE-jl3qCS2G`?qImc2(mLWB(gGs z3Q(}W_ksO==pVYj8~=d(E%pcOZy~U91_n^&xN?K=#J}HXP0to$HRgEn8|41j|I?QV zv8pjXoPJh_Rh?rmSkUPI^glwZ8jM?~s|vGfa!ddVvi_eQCd{hC*fzacm{psxVETHH zoHtnRz`yAagjuy1ou+e(uxfJ1f(0l2n{Fe*s>3AwcY2lxs}{%GUmy#U{!O0);;jLz z@%%UaoCvE1#}qKn@Za=*BCHbZJbyufd2+g}D62U8-#;MEuIbjItj@A8erhsUF#P_` z^B)wLnZFp6H5p_*#3yGbeEMEBeYPm8RsBaMhK28$7>qd>81Az(Fsy#h#IXMZ6T@1h z09E8>WLU_~$iT?X$l%Dz$N(yhK*0pcG%pky7(_o@`U4Hre~^KkzuzbR0tKqtFL0oO z6oWPO`;Y1N;;fSOtN&{<@OwWo z> zLv}`ngV59l^)EQp^?_3z6EuMA;JNMKPf!4b{WRYTns0;Z0L@I@+`!N9=liX{!QPB& z$_Wh0jEc(1i<1=?etlms{l7TtW+u5G)3->lYShpC&A#I6_h$Ho-r|iS|Zm#d5WKrA(4fV;pTfLhKEXw42>*| zZs2qiD9Xt2@;wv7LKa4bLP17`fA5(X4ze&ZI7%}z2!CK=c*w%Yu#uOM0W{dk2nwDb z|Nnm!V`NZdWn@^$#>l`peW4_)B;%*)yCqrmxqg3l{K2zA?8CO-)4xcvs&M`Ot_9}L z|2I{BQlV;W6s0JG$@q4;~G^>*AzkiSG{&EqS9A? zYcuf8`ePiK8&3GbM| z!JzPgiNW#%6GPw!CWgEZObj(2m>8NqFfnv|U}DG+VNh^nXJlw(Wn@rfXJl9i3K|B; zu*(Z@in#?IV*LO895hS)`9AYM{# z!=``Jdt_MMtlWMx%$}XOJ25FkgF%=cIYGwq|Mx}z4H=kMh<*6?cXOr&1M^CT z$()nLKFI&&oXxyqb)wh@tzXl5WLY&>#6H~lJKaK-RfFmO&*@3Btjf|K5G_+s5&6SM zKy9fD_ryQn8GcV+Aj_)55%^DoLF~h^pVP0%vO4g+1=ogBKR{yhe@<7DV^!l22CL}! zIXwWx`|}qhSNL;!ogAwQ$1^Z5`segjAi48kp3BeaH$c1{V4m*J>1^_>Y8(r}Jh7kC zO+dUZFz^45=}GdeT0)*+8=n1OQR?vIT_N^i=fCOmpL`@)|LDhr$#F1&caHceukA%oG1 zuiu|fH&kG?lU;SlM1j+IJV4bbSASnwGz5kaBEXw@Dkio-{Z?%9@ zr3A?I%YUU5LG<_kh71-+;>Z7LfyH0{H)Mz~@Jzp+$-fRfmU2Y+QfRaS_7;Q7ZqTZQvdD*{f8=I@L>d3d ztq}e2?Z4K818#5r{Qv*p9TP(i2Lr?64@?Yy6qp${d|+Y#wX@cIU}A{iWMJ6#fr+6W z)Zp6lfeGH|is52lIQW5y;X@x2gTqHAaNXkM$-waZ0~14v=fnpLx~vzpSAwFy>$lS z$cJo*qt!nw{|j>Uoc{q}B@6zltdv{v?|aQ}xs{AFetq}&1Cs6iKiy4<)vDh7_v*~W zi83ZKrk|e6tz?=ZKjrs#)t?~sxBfEC1XY@0Ka9QQRwzz3_LiHjFxklar^L7KHa`?* z8G6gD_!;plz`$E^mcm33OL5}Y@9%$VJ;d_GMUvUk_8;YJ^pR26YULp2j!q4df%B%+U-~Y<3`1*azPr()czBm5WULpE{ z?Y{-XQTPOw+-xR>3=Rf{BOjO;PJdux*q(cPTO%(c!$Vd^hCLv04hDu391INCJ}@zG zB``B=WMgD--X%R3JePjets|i4H|a*`Q7>tXxQ=R_k6G^HegdgEjox9phZq1A2$A- zo~Od9Qg8QjpYm*m2NGYuTmIY#X8ru`@_PZ4#r|h9lx6iB)KPmN@$>uN-wF&@4gMSa z{BH0Y((U^B{qt`~XYA+qcfS=FB*C(Zzd^41`Tgl{i0dSwuDc7~8S?YHAjoyH-|zhZ zjd2BhgcN`fCxTXxiF^qBJ6%teRVnWN4+(FO#jk&fgX!nL<|s=ufLk8hwsyVqK?Ceez5(G7>5!4Fzr8N z97goR!QbfPFiZ^Jw}wcuF)&VCD!_4p%X_X9<4w^IrT-NeL_TEwVtAmzz%FT!uswl+ zTbKEQ5(DE*u@CG&r!#4@`Y3=VCj|C>Kng$PurvHMJx`leK}Gn(^Z)Fg8E&EDLga(_&*?%stX^U_|8OX? z&rHf-n(^zq^k0#c+$%&r@c*1%q{AA)_-guT9adAu^68Aatm1;qfB062eo*+uru-s~ zS@G@n)zdX~SuN}5{b5kr9mip(V9m0MafWb1Si{fnHb2?G%cVdo-~RnmW-wx4nF+E0 zG_WrE;ptB<)05A+XMl$0MLvlAG~e)HZ;C5}!iSGc44{R6pkxBWAGS{3z{0@Kz&PpW z_rf0xs!S6eXU=ufzO^t*gW>J>fWMla3~Y=_S!^qWKQR4gS{>0L-NC%-wq%o<)@_E_5*)^#CBW+v|5#TAbO?4Z&SG2LDbXe=*$~$Na?R`?Yz!PLLE$L&mv6NZ z1KUjI8Na@3{051*{^VF8`oZZZqv;ONh|BcHdaR<1tEd0eWA&G`29KZo{{A1@&-wlR z*I&jJzrXiSPt<1>msAEzGk%DNHfn!=e*~5;pFUBaRhIF`^!56z#vE>cMOTP^*!^Sr zD}7cq4t+3h$&cw02CQlv5@25MkLhk89wV4n_G5Ypi1+FbNMHPq>5B|lH8?JTdG0@^ zUov3T5SjFsdp$^2?+3q9sHX*k=m*As)A7yo*}yO=l3OGH7~(x#QxcU z)z~QUuLPO%?>7rr%_Ojz>tHo3|H8m(!mOc+-uz|-D{25MIto_w>2Cp8Q2|uVt>0{5 zHF;n)oBvP$Wyq=$8v*9c{jbTuIlI( zeCYnK!63Wg!(NBakhw@uPh`SpCWb~$Mg~R=$Vdq&L4&%X{TrAk{{B8`dbJU&KF6cq z94kaVg#Vwu$%r+ozVi==r}m$5Huoxy$xO33R%$SCPG+6PH9aq3UBdtG7k`7+Y5n?c z`a^@^_xDM^6&aXkPch_}%mwa$b9r-3{{8*^Uyc=DzOVVI0A8|iz-_`8CWiT+nHU_t zKsrc?nv4vA>If%++AU`kgg;3CV-;fn&5q{7Q`oKFpcIxreW5X=BWcWP%;E4GRB&zm zH~pJ2s|JS#m^b&|bTt!JIVRoT)7?y1)ifBvqGkV#8GaZuO+KNl+%Q2oxj{pDaf5*J zU%u!6fQ*bS_{7Ap`ZE*5rq4_aM?W($-2Ds*)<8{021B%9{i5K&ApGGLbc6!d z-~9c3<}XmV>Y)tbfR@mSG4L|{`abI)k2i<0a)L60j4}IJ_QP5k(|ycX`8>1!ZO%x_ zR$$nakevKEV^Q{}gvH4PD76D5g|RbC+#tiiGKqEKukRiIg1y<-au{1DSTkrCOE54_ z{`Ea=`eHLyZ;lyYUz`4&{>_Y4jiV9Fllwbe#hg`*UF#nxyxXS-nzIVqf?98%zc2c4 z$-p|B(~xVjqW6Ep#|eti;JNl&f#LJ_$^Q+MlN$~gFK#ffe%zo2-Xh90@E;5CvXKX05X(m1LxXdpCL=?kIwM1&CL_Z{q+kVk zv0&?@4Xhd8zki-CX~C*)wf{F81IucjRhkS8Q~rOK_|LpjgMoS4@9)(=nOFS&F7OlN zKGpv`D?~n2{Sn$wu=m?%CI&}MMuv^*)2l34jhH%rPhV%jDyHTNR)6b<0mJ9-@Be|+ zyZiyo0W$P6G5r0^#4r(*akQqtvS2k~3iv%;!ID)>g9of+&aH~;y5`WNF$4TeA8um56P@$37M zKRRait2aA6zo@(7*Y~}Dlve!uzUz6eAo+W?15ah(1MXcFh-4$0qijgMg~JQ zMsUy^G-qT01#6%hBSWA$BSWDYBSWJGBf~+om;;qHHVVQYqQQ&c{(p~$7d28pKu%vj zUD29VnlW>_tu<@Ck;sP`|6m?vUm@K5=exkKOgE56WqxJ2{rb-NN5{+)>{0V|1`NNx zGya+W&YD%Ke)4Z#uxCKSZxGM$P5S)Z*Ms^`^ z2M*M>{`}n?vMR*N;QRL=(E1~T@8A8v%R;_?_W~~q`TpGvye#DVcPH>di|^m<{)18{ zH*`^l!}N*ltfCyCzJlcu-2QNjxEp+9VsQ8h?wNp;GcX%4 zY-QEpxbfz@)*ohOW_ET~W^bkk%-#$Sn7t)B81{mut3mBe1E`*Yt$YkD41yoH|Fbgu z|9;^=qbvhx9odn8pjGuZ|1*L&qMrQ++PMDXyW)@OcJ{1Nc9Z`pFtC72Y?ck6(-#uH zGBJQ0@&IZm*d^edhb$Sa3=BG~7eG+}n#&OWAp2wbG<#M(f!-eq3>*gkzu)|?z##PD z-~Z`X>{-=Vgg!j{KmDIQtCF?QhjafKl$mEKGBhPHCpafCPZs&$`(tqi^9n{|(0aG| z|Lc-iR($?${F@V;#6Q|HGJuYP*=Wl+z4|Uo>huE+tXwHx;B^9^uHLWjYyQCk5xu+f z?t9ul)b5VR2i_lu?vBWZv_FvUj>w0JKhV27)Abx#B{Fz^Gbl4FF*0Ph34J*CN5nJ3 zP2|I+U!Wx^A|L+!_@$`9(8=)Td;M<%Wu6txNl|6-TpIsqtPuWi?0;!T&W@vdsAL-5o5~1D2a&tg(W1^8fFy|20;!&iL`&5-eBu ze-_*YY?J?gH~X)#l5NJ1?^vnv66kpkMGi8*@XY+lxI(0?8GWq z&kGg^`VVsI|L=VNUw{W-G*1EEW8ucDOIaae9OIO@xW4@Z`DX>E1!~UNFD>YV#e3<UdHkZ3Rh%as39W>93{p2aoe&G(DbYh73+>zDjyH2L(LkwIp~|L<=9 zR6J!?hi7?&-tM2w3gHjdpc$l6EjGc)YoINi;a zRY~gdF9uaM22h)r-HSo_&G+EnMhw~vZ@%mQp5EljswKPemoftrgCc_k!<+BMzl|7_ z8Qy&7{|%ZDe)IkG^pmcvrU@CpKn>`%e?iIYw*;uv1Ld65zn}*7kMEIS*?E6KNevPXR^WEzQ*G%3C{3}4&tk#Er1!&p4zz;?S(G|iUZ2s}ilwR@wyTyO$ zRiY~uSN#7z`L`m2;tJsp|Nk>GsIL(Ip#6_~rtS(*Hq%|DzS4Nb|L;w|jaOuj!Bh73{8AS;yq z$M`C)&}0z)a29IG&%e|2+*zgS7lVy_@dsq&(?1|1AN>ItdH)aRO!gVCzu*4PHj|A3 z3@Zc_urX*xNi8c7nH^qdNDGHxG^YzrpQ4_`SQ2v z*F0F&coKiJGJwvm5&59=YdVJ~s|M5YU(<~|Sq+4i{cccZnsu9zV

)^%;VoGf7H3 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 ~S+#Q3NTQ_t!@8<#$C;mR6Ej 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