diff --git a/firmware/baseband/baseband_thread.cpp b/firmware/baseband/baseband_thread.cpp index b23170c3..ce0ff0b8 100644 --- a/firmware/baseband/baseband_thread.cpp +++ b/firmware/baseband/baseband_thread.cpp @@ -42,7 +42,7 @@ #include -WORKING_AREA(baseband_thread_wa, 2048); +WORKING_AREA(baseband_thread_wa, 4096); Thread* BasebandThread::start(const tprio_t priority) { return chThdCreateStatic(baseband_thread_wa, sizeof(baseband_thread_wa), diff --git a/firmware/baseband/proc_ais.cpp b/firmware/baseband/proc_ais.cpp index 3db550ad..41108ff7 100644 --- a/firmware/baseband/proc_ais.cpp +++ b/firmware/baseband/proc_ais.cpp @@ -36,6 +36,7 @@ AISProcessor::AISProcessor() { void AISProcessor::execute(const buffer_c8_t& buffer) { /* 2.4576MHz, 2048 samples */ + std::array dst; const buffer_c16_t dst_buffer { dst.data(), dst.size() diff --git a/firmware/baseband/proc_ais.hpp b/firmware/baseband/proc_ais.hpp index 59812efb..6f8be94d 100644 --- a/firmware/baseband/proc_ais.hpp +++ b/firmware/baseband/proc_ais.hpp @@ -47,7 +47,6 @@ public: void execute(const buffer_c8_t& buffer) override; private: - std::array dst; dsp::decimate::FIRC8xR16x24FS4Decim8 decim_0; dsp::decimate::FIRC16xR16x32Decim8 decim_1; dsp::matched_filter::MatchedFilter mf { baseband::ais::rrc_taps_38k4_4t_p, 2 }; diff --git a/firmware/baseband/proc_am_audio.cpp b/firmware/baseband/proc_am_audio.cpp index 603155e4..518ad25f 100644 --- a/firmware/baseband/proc_am_audio.cpp +++ b/firmware/baseband/proc_am_audio.cpp @@ -46,6 +46,7 @@ NarrowbandAMAudio::NarrowbandAMAudio() { } void NarrowbandAMAudio::execute(const buffer_c8_t& buffer) { + std::array dst; const buffer_c16_t dst_buffer { dst.data(), dst.size() diff --git a/firmware/baseband/proc_am_audio.hpp b/firmware/baseband/proc_am_audio.hpp index bdceaa51..6acc2a27 100644 --- a/firmware/baseband/proc_am_audio.hpp +++ b/firmware/baseband/proc_am_audio.hpp @@ -45,7 +45,6 @@ public: void on_update_spectrum() override { channel_spectrum.update(); } private: - std::array dst; dsp::decimate::FIRC8xR16x24FS4Decim8 decim_0; dsp::decimate::FIRC16xR16x32Decim8 decim_1; dsp::decimate::FIRAndDecimateComplex channel_filter; diff --git a/firmware/baseband/proc_nfm_audio.cpp b/firmware/baseband/proc_nfm_audio.cpp index ecd17a13..4b8cb6c4 100644 --- a/firmware/baseband/proc_nfm_audio.cpp +++ b/firmware/baseband/proc_nfm_audio.cpp @@ -79,6 +79,7 @@ void NarrowbandFMAudio::set_mode(const Mode mode) { } void NarrowbandFMAudio::execute(const buffer_c8_t& buffer) { + std::array dst; const buffer_c16_t dst_buffer { dst.data(), dst.size() diff --git a/firmware/baseband/proc_nfm_audio.hpp b/firmware/baseband/proc_nfm_audio.hpp index 9ad71fea..d0471d30 100644 --- a/firmware/baseband/proc_nfm_audio.hpp +++ b/firmware/baseband/proc_nfm_audio.hpp @@ -51,7 +51,6 @@ public: void on_update_spectrum() override { channel_spectrum.update(); } private: - std::array dst; dsp::decimate::FIRC8xR16x24FS4Decim8 decim_0; dsp::decimate::FIRC16xR16x32Decim8 decim_1; diff --git a/firmware/baseband/proc_tpms.cpp b/firmware/baseband/proc_tpms.cpp index e7f8257a..99b58b57 100644 --- a/firmware/baseband/proc_tpms.cpp +++ b/firmware/baseband/proc_tpms.cpp @@ -57,6 +57,7 @@ TPMSProcessor::TPMSProcessor() { void TPMSProcessor::execute(const buffer_c8_t& buffer) { /* 2.4576MHz, 2048 samples */ + std::array dst; const buffer_c16_t dst_buffer { dst.data(), dst.size() diff --git a/firmware/baseband/proc_tpms.hpp b/firmware/baseband/proc_tpms.hpp index 10b90248..0164a28c 100644 --- a/firmware/baseband/proc_tpms.hpp +++ b/firmware/baseband/proc_tpms.hpp @@ -59,7 +59,6 @@ public: void execute(const buffer_c8_t& buffer) override; private: - std::array dst; dsp::decimate::FIRC8xR16x24FS4Decim4 decim_0; dsp::decimate::FIRC16xR16x16Decim2 decim_1; diff --git a/firmware/baseband/proc_wfm_audio.cpp b/firmware/baseband/proc_wfm_audio.cpp index 9f0639cc..65923ddd 100644 --- a/firmware/baseband/proc_wfm_audio.cpp +++ b/firmware/baseband/proc_wfm_audio.cpp @@ -43,6 +43,7 @@ WidebandFMAudio::WidebandFMAudio() { } void WidebandFMAudio::execute(const buffer_c8_t& buffer) { + std::array dst; const buffer_c16_t dst_buffer { dst.data(), dst.size() diff --git a/firmware/baseband/proc_wfm_audio.hpp b/firmware/baseband/proc_wfm_audio.hpp index b45cc717..6d6a6d0c 100644 --- a/firmware/baseband/proc_wfm_audio.hpp +++ b/firmware/baseband/proc_wfm_audio.hpp @@ -38,7 +38,6 @@ public: void execute(const buffer_c8_t& buffer) override; private: - std::array dst; dsp::decimate::FIRC8xR16x24FS4Decim4 decim_0; dsp::decimate::FIRC16xR16x16Decim2 decim_1;