From 8662ed40248e6e25a9fc9de72516d929b9cc05ec Mon Sep 17 00:00:00 2001 From: furrtek Date: Wed, 1 Feb 2017 08:53:26 +0000 Subject: [PATCH] Close Call should be more accurate Merged close call and wideband spectrum baseband processors --- firmware/CMakeLists.txt | 2 +- firmware/application/analog_audio_app.cpp | 4 + firmware/application/baseband_api.cpp | 10 +- firmware/application/baseband_api.hpp | 2 +- firmware/application/ui_alphanum.hpp | 6 +- firmware/application/ui_closecall.cpp | 155 +++++++++---------- firmware/application/ui_closecall.hpp | 31 ++-- firmware/baseband/CMakeLists.txt | 7 - firmware/baseband/baseband_thread.cpp | 4 + firmware/baseband/baseband_thread.hpp | 2 + firmware/baseband/proc_closecall.cpp | 74 --------- firmware/baseband/proc_closecall.hpp | 52 ------- firmware/baseband/proc_wfm_audio.cpp | 2 +- firmware/baseband/proc_wfm_audio.hpp | 2 +- firmware/baseband/proc_wideband_spectrum.cpp | 19 ++- firmware/baseband/proc_wideband_spectrum.hpp | 8 +- firmware/common/message.hpp | 16 ++ firmware/common/spi_image.hpp | 1 - firmware/portapack-h1-havoc.bin | Bin 827720 -> 827080 bytes 19 files changed, 143 insertions(+), 254 deletions(-) delete mode 100644 firmware/baseband/proc_closecall.cpp delete mode 100644 firmware/baseband/proc_closecall.hpp diff --git a/firmware/CMakeLists.txt b/firmware/CMakeLists.txt index ed73b6223..db2f2963f 100644 --- a/firmware/CMakeLists.txt +++ b/firmware/CMakeLists.txt @@ -28,7 +28,7 @@ set(CHIBIOS_PORTAPACK ${PROJECT_SOURCE_DIR}/chibios-portapack) set(HACKRF_FIRMWARE_FILENAME hackrf_one_usb_ram.dfu) set(HACKRF_FIRMWARE_IMAGE ${PROJECT_SOURCE_DIR}/${HACKRF_FIRMWARE_FILENAME}) -set(HACKRF_CPLD_SVF_FILENAME hackrf_cpld_default.svf) +set(HACKRF_CPLD_SVF_FILENAME hackrf_cpld_portapack.svf) set(HACKRF_CPLD_SVF_PATH ${PROJECT_SOURCE_DIR}/${HACKRF_CPLD_SVF_FILENAME}) set(EXTRACT_CPLD_DATA ${PROJECT_SOURCE_DIR}/tools/extract_cpld_data.py) diff --git a/firmware/application/analog_audio_app.cpp b/firmware/application/analog_audio_app.cpp index 0f2c41f93..0863c21a1 100644 --- a/firmware/application/analog_audio_app.cpp +++ b/firmware/application/analog_audio_app.cpp @@ -284,6 +284,10 @@ void AnalogAudioView::update_modulation(const ReceiverModel::Mode modulation) { } baseband::run_image(image_tag); + + if (modulation == ReceiverModel::Mode::SpectrumAnalysis) { + baseband::set_spectrum(20000000, 127); + } const auto is_wideband_spectrum_mode = (modulation == ReceiverModel::Mode::SpectrumAnalysis); receiver_model.set_modulation(modulation); diff --git a/firmware/application/baseband_api.cpp b/firmware/application/baseband_api.cpp index 0d2faf9f9..db815fd92 100644 --- a/firmware/application/baseband_api.cpp +++ b/firmware/application/baseband_api.cpp @@ -171,14 +171,12 @@ void set_rds_data(const uint16_t message_length) { send_message(&message); } -/*void set_dtmf_data(const uint32_t bw, const uint32_t tone_length, const uint32_t pause_length) { - const DTMFTXConfigMessage message { - bw, - tone_length, - pause_length +void set_spectrum(const size_t sampling_rate, const size_t trigger) { + const WidebandSpectrumConfigMessage message { + sampling_rate, trigger }; send_message(&message); -}*/ +} static bool baseband_image_running = false; diff --git a/firmware/application/baseband_api.hpp b/firmware/application/baseband_api.hpp index e95add7c8..1dcc75b5a 100644 --- a/firmware/application/baseband_api.hpp +++ b/firmware/application/baseband_api.hpp @@ -67,7 +67,7 @@ void set_pocsag(const pocsag::BitRate bitrate); void set_adsb(); void set_jammer(const bool run, const uint32_t type, const uint32_t speed); void set_rds_data(const uint16_t message_length); -//void set_dtmf_data(const uint32_t bw, const uint32_t tone_length, const uint32_t pause_length); +void set_spectrum(const size_t sampling_rate, const size_t trigger); void run_image(const portapack::spi_flash::image_tag_t image_tag); void shutdown(); diff --git a/firmware/application/ui_alphanum.hpp b/firmware/application/ui_alphanum.hpp index 0542e2106..74f5f91d1 100644 --- a/firmware/application/ui_alphanum.hpp +++ b/firmware/application/ui_alphanum.hpp @@ -34,7 +34,7 @@ namespace ui { class AlphanumView : public View { public: - std::function on_changed; + std::function on_changed { }; AlphanumView(NavigationView& nav, char txt[], size_t max_length); @@ -55,8 +55,8 @@ private: const char * const keys_upper = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ. !<"; const char * const keys_lower = "0123456789abcdefghijklmnopqrstuvwxyz:=?<"; - size_t _max_length; - uint8_t txtidx; + size_t _max_length { }; + uint8_t txtidx { 0 }; bool _lowercase = false; char txtinput[29] = { 0 }; // 28 chars max diff --git a/firmware/application/ui_closecall.cpp b/firmware/application/ui_closecall.cpp index 271df7006..3257f3c0a 100644 --- a/firmware/application/ui_closecall.cpp +++ b/firmware/application/ui_closecall.cpp @@ -21,7 +21,6 @@ */ #include "ui_closecall.hpp" -#include "msgpack.hpp" #include "rtc_time.hpp" #include "event_m0.hpp" @@ -38,7 +37,7 @@ using namespace portapack; namespace ui { void CloseCallView::focus() { - button_exit.focus(); + field_frequency_min.focus(); } CloseCallView::~CloseCallView() { @@ -49,16 +48,16 @@ CloseCallView::~CloseCallView() { void CloseCallView::do_detection() { uint8_t xmax = 0; - int64_t imax = 0; + int16_t imax = 0; uint16_t iraw = 0, c; uint8_t power; rf::Frequency freq_low, freq_high; - mean /= (CC_BIN_NB * slices_max); + mean /= (CC_BIN_NB_NO_DC * slices_max); - // Find max value over threshold from all slices + // Find max value over threshold for all slices for (c = 0; c < slices_max; c++) { - power = slicemax_db[c]; + power = slicemax_pow[c]; if (power >= min_threshold) { if ((power - min_threshold >= mean) && (power > xmax)) { xmax = power; @@ -68,54 +67,42 @@ void CloseCallView::do_detection() { } } - // e-Message POCSAG FR: - // 466.025 MHz - 466.05 MHz - 466.075 MHz - 466.175 MHz - 466.20625 MHz - 466.23125 MHz - // 25 25 100 31 25 - - // Catches: - // 466.000 - // 466.021 21 - // 466.042 21 - // 466.148 106 - // 466.169 21 - // 466.190 21 - // Lock / release - if ((imax >= last_channel - 2) && (imax <= last_channel + 2) && imax) { - // Staying around the same frequency (+/- 25.4kHz) - if (detect_counter >= (5 / slices_max)) { + if ((imax >= last_channel - 2) && (imax <= last_channel + 2) && (imax)) { + // Staying around the same frequency + if (detect_counter >= (5 / slices_max)) { // Todo: ugly, change. Should depend on refresh rate. if ((imax != locked_imax) || (!locked)) { std::string finalstr; - // 236 steps = 3.072MHz - // Resolution = 13.1kHz if (locked) { - resolved_frequency = (resolved_frequency + slice_start + (CC_BIN_WIDTH * (imax - 118))) / 2; // Mean + // Already locked, adjust + if (weight < 16) { + frequency_acc += (slice_frequency + (CC_BIN_WIDTH * (imax - 120))); // Average + weight++; + } } else { - resolved_frequency = slice_start + (CC_BIN_WIDTH * (imax - 118)); // Init - if ((resolved_frequency >= f_min) && (resolved_frequency <= f_max)) { - // Correct according to DC spike mask width (8 for now) - if (iraw > 118) - resolved_frequency -= (4 * CC_BIN_WIDTH); - else - resolved_frequency += (4 * CC_BIN_WIDTH); + // Lost, locking + frequency_acc = slice_frequency + (CC_BIN_WIDTH * (imax - 120)); // Init + if ((frequency_acc >= f_min) && (frequency_acc <= f_max)) { text_infos.set("Locked !"); big_display.set_style(&style_locked); - big_display.set(resolved_frequency); // Approximation/error display - freq_low = (resolved_frequency - 6000) / 1000; - freq_high = (resolved_frequency + 6000) / 1000; - finalstr = "~12kHz: " + to_string_dec_uint(freq_low / 1000) + "." + to_string_dec_uint(freq_low % 1000); + freq_low = (frequency_acc - 4883) / 1000; + freq_high = (frequency_acc + 4883) / 1000; + finalstr = "~9.8kHz: " + to_string_dec_uint(freq_low / 1000) + "." + to_string_dec_uint(freq_low % 1000); finalstr += "/" + to_string_dec_uint(freq_high / 1000) + "." + to_string_dec_uint(freq_high % 1000); text_precision.set(finalstr); locked = true; + weight = 1; locked_imax = imax; } } - //text_debug.set(to_string_dec_int(CC_BIN_WIDTH * (imax - 118))); + + resolved_frequency = frequency_acc / weight; + big_display.set(resolved_frequency); } release_counter = 0; } else { @@ -128,7 +115,7 @@ void CloseCallView::do_detection() { locked = false; text_infos.set("Lost"); big_display.set_style(&style_grey); - big_display.set(resolved_frequency); + //big_display.set(resolved_frequency); } else { release_counter++; } @@ -138,28 +125,32 @@ void CloseCallView::do_detection() { last_channel = imax; scan_counter++; - portapack::display.fill_rectangle({last_pos, 90, 1, 13}, Color::black()); - last_pos = (ui::Coord)(iraw); - portapack::display.fill_rectangle({last_pos, 90, 1, 13}, Color::red()); + portapack::display.fill_rectangle({last_pos, 90, 1, 6}, Color::black()); + if (iraw < 120) + iraw += 2; + else + iraw -= 0; + last_pos = (ui::Coord)iraw; + portapack::display.fill_rectangle({last_pos, 90, 1, 6}, Color::red()); } void CloseCallView::on_channel_spectrum(const ChannelSpectrum& spectrum) { uint8_t xmax = 0; - uint16_t imax = 0; - uint8_t threshold; + int16_t imax = 0; + uint8_t power; size_t i, m; + std::array pixel_row; baseband::spectrum_streaming_stop(); - // Draw spectrum line (for debug), 2 black pixels left and right - std::array pixel_row; - for(i = 0; i < 118; i++) { - const auto pixel_color = spectrum_rgb3_lut[spectrum.db[256 - 120 + i]]; // 136~253 in 2~119 - pixel_row[i + 2] = pixel_color; + // Draw spectrum line (for debug) + for (i = 0; i < 120; i++) { + const auto pixel_color = spectrum_rgb3_lut[spectrum.db[134 + i]]; // 134~253 in 0~119 + pixel_row[i] = pixel_color; } - for(i = 122; i < 240; i++) { - const auto pixel_color = spectrum_rgb3_lut[spectrum.db[i - 120]]; // 2~119 in 120~237 - pixel_row[i - 2] = pixel_color; + for (i = 120; i < 240; i++) { + const auto pixel_color = spectrum_rgb3_lut[spectrum.db[i - 118]]; // 2~121 in 120~239 + pixel_row[i] = pixel_color; } display.draw_pixels( { { 0, 96 + slices_counter * 4 }, { pixel_row.size(), 1 } }, @@ -173,33 +164,30 @@ void CloseCallView::on_channel_spectrum(const ChannelSpectrum& spectrum) { // i = slice_trim; //else i = 0; - for ( ; i < 118; i++) { - threshold = spectrum.db[256 - 120 + i]; // 128+8 = 136~254 - if (threshold > xmax) { - xmax = threshold; - imax = i; + for ( ; i < 120; i++) { + power = spectrum.db[134 + i]; + mean += power; + if (power > xmax) { + xmax = power; + imax = i - 2; } } // Check if right of slice needs to be trimmed (masked) - if (slices_counter == (slices_max - 1)) - m = 240 - slice_trim; - else + //if (slices_counter == (slices_max - 1)) + // m = 240 - slice_trim; + //else m = 240; - for (i = 122 ; i < m; i++) { - threshold = spectrum.db[i - 120]; // 240-120 = 120 -> +8 = 128 - if (threshold > xmax) { // (0~2) 2~120 (120~136) 136~254 (254~256) - xmax = threshold; - imax = i - 4; + for (i = 120; i < m; i++) { + power = spectrum.db[i - 118]; + mean += power; + if (power > xmax) { + xmax = power; + imax = i + 2; } } - slicemax_db[slices_counter] = xmax; + + slicemax_pow[slices_counter] = xmax; slicemax_idx[slices_counter] = imax; - - // Add to mean - for (i = 136; i < 254; i++) - mean += spectrum.db[i]; - for (i = 2; i < 120; i++) - mean += spectrum.db[i]; // Slice update if (slicing) { @@ -229,7 +217,7 @@ void CloseCallView::on_hide() { void CloseCallView::on_range_changed() { rf::Frequency slices_span; - rf::Frequency resolved_frequency; + rf::Frequency slice_width; int64_t offset; f_max = field_frequency_max.value(); @@ -248,16 +236,14 @@ void CloseCallView::on_range_changed() { // Todo: trims } else { slice_frequency = (f_max + f_min) / 2; - slice_start = slice_frequency; receiver_model.set_tuning_frequency(slice_frequency); - //resolved_frequency = (CC_SLICE_WIDTH - scan_span) / 2; // Trim frequency span (for both sides) - //resolved_frequency /= CC_BIN_WIDTH; // Convert to bin span - //slice_trim = resolved_frequency; + slice_width = abs(f_max - f_min); + slice_trim = (240 - (slice_width * 240 / CC_SLICE_WIDTH)) / 2; - //portapack::display.fill_rectangle({0, 97, 240, 4}, Color::black()); - //portapack::display.fill_rectangle({0, 97, slice_trim, 4}, Color::orange()); - //portapack::display.fill_rectangle({240 - slice_trim, 97, slice_trim, 4}, Color::orange()); + portapack::display.fill_rectangle({0, 97, 240, 4}, Color::black()); + portapack::display.fill_rectangle({0, 97, slice_trim, 4}, Color::orange()); + portapack::display.fill_rectangle({240 - slice_trim, 97, slice_trim, 4}, Color::orange()); slices_max = 1; slices_counter = 0; @@ -299,7 +285,7 @@ CloseCallView::CloseCallView( NavigationView& nav ) { - baseband::run_image(portapack::spi_flash::image_tag_closecall); + baseband::run_image(portapack::spi_flash::image_tag_wideband_spectrum); add_children({ &text_labels_a, @@ -328,8 +314,7 @@ CloseCallView::CloseCallView( text_mhz.set_style(&style_grey); big_display.set_style(&style_grey); - // DEBUG - receiver_model.set_tuning_frequency(464400000); + baseband::set_spectrum(CC_SLICE_WIDTH, 32); field_threshold.set_value(80); field_threshold.on_change = [this](int32_t v) { @@ -338,8 +323,7 @@ CloseCallView::CloseCallView( field_frequency_min.set_value(receiver_model.tuning_frequency()); field_frequency_min.set_step(100000); - field_frequency_min.on_change = [this](rf::Frequency f) { - (void)f; + field_frequency_min.on_change = [this](rf::Frequency) { this->on_range_changed(); }; field_frequency_min.on_edit = [this, &nav]() { @@ -352,8 +336,7 @@ CloseCallView::CloseCallView( field_frequency_max.set_value(receiver_model.tuning_frequency() + 2000000); field_frequency_max.set_step(100000); - field_frequency_max.on_change = [this](rf::Frequency f) { - (void)f; + field_frequency_max.on_change = [this](rf::Frequency) { this->on_range_changed(); }; field_frequency_max.on_edit = [this, &nav]() { @@ -385,7 +368,7 @@ CloseCallView::CloseCallView( }; receiver_model.set_modulation(ReceiverModel::Mode::SpectrumAnalysis); - receiver_model.set_sampling_rate(3072000); + receiver_model.set_sampling_rate(CC_SLICE_WIDTH); receiver_model.set_baseband_bandwidth(2500000); receiver_model.enable(); } diff --git a/firmware/application/ui_closecall.hpp b/firmware/application/ui_closecall.hpp index 81919909d..0827c8b74 100644 --- a/firmware/application/ui_closecall.hpp +++ b/firmware/application/ui_closecall.hpp @@ -29,9 +29,10 @@ namespace ui { -#define CC_SLICE_WIDTH 3072000 // Radio bandwidth -#define CC_BIN_NB 256 // Total power bins -#define CC_BIN_WIDTH CC_SLICE_WIDTH/CC_BIN_NB +#define CC_SLICE_WIDTH 2500000 // Radio bandwidth +#define CC_BIN_NB 256 // Total power bins (skip 4 at center, 2*6 on sides) +#define CC_BIN_NB_NO_DC (CC_BIN_NB - 16) +#define CC_BIN_WIDTH (CC_SLICE_WIDTH / CC_BIN_NB) class CloseCallView : public View { public: @@ -62,26 +63,28 @@ private: }; rf::Frequency f_min, f_max; - Coord last_pos = 0; + Coord last_pos { 0 }; ChannelSpectrumFIFO* fifo { nullptr }; - uint8_t detect_counter = 0, release_counter = 0; + uint8_t detect_counter { 0 }, release_counter { 0 }; uint8_t slice_trim; - uint32_t mean = 0; - uint32_t min_threshold = 80; // Todo: Put this in persistent / settings + uint32_t mean { 0 }; + uint32_t min_threshold { 80 }; // Todo: Put this in persistent / settings rf::Frequency slice_start; rf::Frequency slice_frequency; uint8_t slices_max; uint8_t slices_counter; - uint16_t last_channel; + int16_t last_channel; + uint32_t weight { 0 }; + uint64_t frequency_acc { 0 }; rf::Frequency scan_span, resolved_frequency; uint16_t locked_imax; - uint8_t slicemax_db[32]; // Todo: Cap max slices ! - uint8_t slicemax_idx[32]; + uint8_t slicemax_pow[32]; // Todo: Cap max slices ! + int16_t slicemax_idx[32]; uint8_t scan_counter; - SignalToken signal_token_tick_second; - bool ignore = true; - bool slicing; - bool locked = false; + SignalToken signal_token_tick_second { }; + bool ignore { true }; + bool slicing { false }; + bool locked { false }; void on_channel_spectrum(const ChannelSpectrum& spectrum); void on_range_changed(); diff --git a/firmware/baseband/CMakeLists.txt b/firmware/baseband/CMakeLists.txt index 730796dc3..78e70eec0 100644 --- a/firmware/baseband/CMakeLists.txt +++ b/firmware/baseband/CMakeLists.txt @@ -336,13 +336,6 @@ set(MODE_CPPSRC ) DeclareTargets(PSPE wideband_spectrum) -### Close Call - -set(MODE_CPPSRC - proc_closecall.cpp -) -DeclareTargets(PCLC closecall) - ### OOK set(MODE_CPPSRC diff --git a/firmware/baseband/baseband_thread.cpp b/firmware/baseband/baseband_thread.cpp index 7083e9f4b..e6d7d0343 100644 --- a/firmware/baseband/baseband_thread.cpp +++ b/firmware/baseband/baseband_thread.cpp @@ -64,6 +64,10 @@ BasebandThread::~BasebandThread() { thread = nullptr; } +void BasebandThread::set_sampling_rate(uint32_t new_sampling_rate) { + sampling_rate = new_sampling_rate; +} + void BasebandThread::run() { baseband_sgpio.init(); baseband::dma::init(); diff --git a/firmware/baseband/baseband_thread.hpp b/firmware/baseband/baseband_thread.hpp index 54fa90231..a168d0453 100644 --- a/firmware/baseband/baseband_thread.hpp +++ b/firmware/baseband/baseband_thread.hpp @@ -48,6 +48,8 @@ public: baseband::Direction direction() const { return _direction; } + + void set_sampling_rate(uint32_t new_sampling_rate); private: static Thread* thread; diff --git a/firmware/baseband/proc_closecall.cpp b/firmware/baseband/proc_closecall.cpp deleted file mode 100644 index 9695d2fab..000000000 --- a/firmware/baseband/proc_closecall.cpp +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Copyright (C) 2015 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 "proc_closecall.hpp" - -#include "event_m4.hpp" - -#include -#include - -#include - -void CloseCallProcessor::execute(const buffer_c8_t& buffer) { - if( phase == 0 ) { - std::fill(spectrum.begin(), spectrum.end(), 0); - } - - for(size_t i=0; iid) { - case Message::ID::UpdateSpectrum: - case Message::ID::SpectrumStreamingConfig: - channel_spectrum.on_message(message); - break; - - default: - break; - } -} - -int main() { - EventDispatcher event_dispatcher { std::make_unique() }; - event_dispatcher.run(); - return 0; -} diff --git a/firmware/baseband/proc_closecall.hpp b/firmware/baseband/proc_closecall.hpp deleted file mode 100644 index efdd96362..000000000 --- a/firmware/baseband/proc_closecall.hpp +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright (C) 2015 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. - */ - -#ifndef __PROC_CLOSECALLPROCESSOR_H__ -#define __PROC_CLOSECALLPROCESSOR_H__ - -#include "baseband_processor.hpp" -#include "baseband_thread.hpp" -#include "spectrum_collector.hpp" - -#include "message.hpp" - -#include -#include -#include - -class CloseCallProcessor : public BasebandProcessor { -public: - void execute(const buffer_c8_t& buffer) override; - - void on_message(const Message* const message) override; - -private: - BasebandThread baseband_thread { 3072000, this, NORMALPRIO + 20, baseband::Direction::Receive }; - - SpectrumCollector channel_spectrum { }; - - std::array spectrum { }; - - size_t phase = 0; -}; - -#endif/*__PROC_CLOSECALLPROCESSOR_H__*/ diff --git a/firmware/baseband/proc_wfm_audio.cpp b/firmware/baseband/proc_wfm_audio.cpp index 1d375eb8b..04270bda9 100644 --- a/firmware/baseband/proc_wfm_audio.cpp +++ b/firmware/baseband/proc_wfm_audio.cpp @@ -69,7 +69,7 @@ void WidebandFMAudio::execute(const buffer_c8_t& buffer) { * -> 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 { diff --git a/firmware/baseband/proc_wfm_audio.hpp b/firmware/baseband/proc_wfm_audio.hpp index a59389079..2438720d1 100644 --- a/firmware/baseband/proc_wfm_audio.hpp +++ b/firmware/baseband/proc_wfm_audio.hpp @@ -80,7 +80,7 @@ private: unsigned int c { 0 }, synth_acc { 0 }; uint32_t synth_div { 0 }; - bool pwmrssi_enabled = false; + bool pwmrssi_enabled { false }; uint32_t pwmrssi_avg { 0 }; bool configured { false }; diff --git a/firmware/baseband/proc_wideband_spectrum.cpp b/firmware/baseband/proc_wideband_spectrum.cpp index 76d627c2e..f17ec245c 100644 --- a/firmware/baseband/proc_wideband_spectrum.cpp +++ b/firmware/baseband/proc_wideband_spectrum.cpp @@ -33,6 +33,8 @@ void WidebandSpectrum::execute(const buffer_c8_t& buffer) { // 2048 complex8_t samples per buffer. // 102.4us per buffer. 20480 instruction cycles per buffer. + + if (!configured) return; if( phase == 0 ) { std::fill(spectrum.begin(), spectrum.end(), 0); @@ -45,7 +47,7 @@ void WidebandSpectrum::execute(const buffer_c8_t& buffer) { spectrum[i] += buffer.p[i + 1024]; } - if( phase == 127 ) { + if( phase == trigger ) { const buffer_c16_t buffer_c16 { spectrum.data(), spectrum.size(), @@ -61,11 +63,20 @@ void WidebandSpectrum::execute(const buffer_c8_t& buffer) { } } -void WidebandSpectrum::on_message(const Message* const message) { - switch(message->id) { +void WidebandSpectrum::on_message(const Message* const msg) { + const WidebandSpectrumConfigMessage message = *reinterpret_cast(msg); + + switch(msg->id) { case Message::ID::UpdateSpectrum: case Message::ID::SpectrumStreamingConfig: - channel_spectrum.on_message(message); + channel_spectrum.on_message(msg); + break; + + case Message::ID::WidebandSpectrumConfig: + baseband_fs = message.sampling_rate; + trigger = message.trigger; + baseband_thread.set_sampling_rate(baseband_fs); + configured = true; break; default: diff --git a/firmware/baseband/proc_wideband_spectrum.hpp b/firmware/baseband/proc_wideband_spectrum.hpp index 7d0b90edd..416374802 100644 --- a/firmware/baseband/proc_wideband_spectrum.hpp +++ b/firmware/baseband/proc_wideband_spectrum.hpp @@ -41,16 +41,18 @@ public: void on_message(const Message* const message) override; private: - static constexpr size_t baseband_fs = 20000000; + bool configured = false; + + size_t baseband_fs = 20000000; - BasebandThread baseband_thread { baseband_fs, this, NORMALPRIO + 20, baseband::Direction::Receive }; + BasebandThread baseband_thread { baseband_fs, this, NORMALPRIO + 20 }; RSSIThread rssi_thread { NORMALPRIO + 10 }; SpectrumCollector channel_spectrum { }; std::array spectrum { }; - size_t phase = 0; + size_t phase = 0, trigger = 127; }; #endif/*__PROC_WIDEBAND_SPECTRUM_H__*/ diff --git a/firmware/common/message.hpp b/firmware/common/message.hpp index 4326ace13..3863820ce 100644 --- a/firmware/common/message.hpp +++ b/firmware/common/message.hpp @@ -83,6 +83,7 @@ public: DTMFTXConfig = 39, ADSBConfigure = 40, JammerConfigure = 41, + WidebandSpectrumConfig = 42, POCSAGPacket = 50, @@ -232,6 +233,21 @@ public: Mode mode { Mode::Stopped }; }; +class WidebandSpectrumConfigMessage : public Message { +public: + constexpr WidebandSpectrumConfigMessage ( + size_t sampling_rate, + size_t trigger + ) : Message { ID::WidebandSpectrumConfig }, + sampling_rate { sampling_rate }, + trigger { trigger } + { + } + + size_t sampling_rate { 0 }; + size_t trigger { 0 }; +}; + struct ChannelSpectrum { std::array db { { 0 } }; uint32_t sampling_rate { 0 }; diff --git a/firmware/common/spi_image.hpp b/firmware/common/spi_image.hpp index c43de7c04..7c3079b94 100644 --- a/firmware/common/spi_image.hpp +++ b/firmware/common/spi_image.hpp @@ -72,7 +72,6 @@ constexpr image_tag_t image_tag_tpms { 'P', 'T', 'P', 'M' }; constexpr image_tag_t image_tag_pocsag { 'P', 'P', 'O', 'C' }; constexpr image_tag_t image_tag_wfm_audio { 'P', 'W', 'F', 'M' }; constexpr image_tag_t image_tag_wideband_spectrum { 'P', 'S', 'P', 'E' }; -constexpr image_tag_t image_tag_closecall { 'P', 'C', 'L', 'C' }; constexpr image_tag_t image_tag_jammer { 'P', 'J', 'A', 'M' }; constexpr image_tag_t image_tag_audio_tx { 'P', 'A', 'T', 'X' }; diff --git a/firmware/portapack-h1-havoc.bin b/firmware/portapack-h1-havoc.bin index 700b474c6102d446d98aa054a23d78b77fc6c451..5d9909934496745e580e5bfdeb304cc0ea6ff16b 100644 GIT binary patch delta 96005 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 z zv&j#viP&U585y?4`YhUwyw}WbKR!Eux2(g4!VF`ALgm4CdD<5Ic+r z%Iz?MH`9g=Qn$dh1WrKWThXo?)cq8KwHp$`wuH5LiMFF3w2v_zY{%NeFLjW7USKz& zF?J(*my`VxU6SX+P7o4VO+UVktjZ56XaEr*ZYA7tJGtj_TBndQ+9{KQ-iJtWMYHoP z9zC!u56I@-A==4~ZX=b`);P}2*GsgO3Uho9gE_t@kvR5p4fU@hmBnq&$Uw5;S8QwS zbLy2z8FPt-9waU0$?62t*6lG0kG=dq6^PDXPYQ~4YsZY*9!NdDgZrXDl(ghrXwf+5DYODsCa=v`qmYyB;D_C#%q7TQtz4 z50SD-@a44L$*c{@PE;b*en$09=mQ%_1#hVC*+6pXY=uls#*a?gNPd$8m6z!X8Qp!j zk%1?k9h*vhGMQFCpH8NcEy#c+o5*ZuBC&)%wu#ix>08L9{D@4Wo5&3Q%s?Q1 zSq^x0svyqU&IolY@CaE`U-Z?GY*3++a(rx~>KOL}#)qi6UD!qXlV<<3i}Y|`sSun_ z!s`m@QCUhh3T!4f;e~4GXQ6XB<`1zBjn=ESAQ(orW53J9x`x>2>7cN_~R z5~ws5R^{7BE@#P?TZ7d6Ql@JjM39CQQdv3IdFC^tCDsGT)v**Ts~P)|%HOxvBUUU~ zskD`pss`sSbMAu*^&yE=H0Py`n8u8zlUK;U#UKDeeUFe!RIQT5&OxnE|9_NqNuvs> z%e|Kk_b*lRI1K{d!cfEZ0@A0X0+bl41L}sMS-H|NY&IJyoxu<10{%_aMvZgchzMhY zcWPsU*L|jMZ$)HT9BKZe*kWzyQf%qQsO z^&$*VWvQQ2!b3x8L=f3TlO8?Ku z-8}!6nvQhku2VmdG<76^@u?sO`BRo838#&3*u5DzI^HxJ+cMo|Yss32N zwA1+{>2F!L19QE4Quhq(Xy0#|fW~H|WD?eP9cK9zpnZRUF56C??&!m|h_i_V$#zy@ zy3J^RK<~dAwhZgr>V4YI90yzX^n_b>ke9fIJ}9_$;snCv8BKgY$5jfp#a=w%it-r5 zFsvW#`*zTpUeb`qIvdgUSND>+b;H>9LdOqD$BI1#2PjUhs8g|ESmzFUsFz&c(1+~^ z`itrPGhM?54z`Gp5XzD^pnV%`prj+0kv+U4+)YUy&ksHye)1{OGWp5^xY-9`OMfru WfQ&%W7d-e+xzB{_a=usUDE~j90EbZk delta 97809 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