diff --git a/firmware/application/baseband_api.cpp b/firmware/application/baseband_api.cpp index 3c87682ba..e3acad311 100644 --- a/firmware/application/baseband_api.cpp +++ b/firmware/application/baseband_api.cpp @@ -102,4 +102,16 @@ void spectrum_streaming_stop() { ); } +void capture_start(CaptureConfig* const config) { + shared_memory.baseband_queue.push_and_wait( + CaptureConfigMessage { config } + ); +} + +void capture_stop() { + shared_memory.baseband_queue.push_and_wait( + CaptureConfigMessage { nullptr } + ); +} + } /* namespace baseband */ diff --git a/firmware/application/baseband_api.hpp b/firmware/application/baseband_api.hpp index 15959142f..b029e2ece 100644 --- a/firmware/application/baseband_api.hpp +++ b/firmware/application/baseband_api.hpp @@ -58,6 +58,9 @@ void shutdown(); void spectrum_streaming_start(); void spectrum_streaming_stop(); +void capture_start(CaptureConfig* const config); +void capture_stop(); + } /* namespace baseband */ #endif/*__BASEBAND_API_H__*/ diff --git a/firmware/application/capture_thread.cpp b/firmware/application/capture_thread.cpp index 726076bc1..8fab79401 100644 --- a/firmware/application/capture_thread.cpp +++ b/firmware/application/capture_thread.cpp @@ -21,7 +21,7 @@ #include "capture_thread.hpp" -#include "portapack_shared_memory.hpp" +#include "baseband_api.hpp" // StreamOutput /////////////////////////////////////////////////////////// @@ -59,9 +59,7 @@ StreamOutput::StreamOutput( CaptureConfig* const config ) : config { config } { - shared_memory.baseband_queue.push_and_wait( - CaptureConfigMessage { config } - ); + baseband::capture_start(config); fifo_buffers_empty = config->fifo_buffers_empty; fifo_buffers_full = config->fifo_buffers_full; } @@ -69,9 +67,7 @@ StreamOutput::StreamOutput( StreamOutput::~StreamOutput() { fifo_buffers_full = nullptr; fifo_buffers_empty = nullptr; - shared_memory.baseband_queue.push_and_wait( - CaptureConfigMessage { nullptr } - ); + baseband::capture_stop(); } // CaptureThread //////////////////////////////////////////////////////////