diff --git a/firmware/baseband/clock_recovery.hpp b/firmware/baseband/clock_recovery.hpp index bd17255d7..91f4cf8fd 100644 --- a/firmware/baseband/clock_recovery.hpp +++ b/firmware/baseband/clock_recovery.hpp @@ -116,19 +116,21 @@ private: template class ClockRecovery { public: + using SymbolHandler = std::function; + ClockRecovery( const float sampling_rate, const float symbol_rate, ErrorFilter error_filter, - std::function symbol_handler - ) : symbol_handler { symbol_handler } + SymbolHandler symbol_handler + ) : symbol_handler { std::move(symbol_handler) } { configure(sampling_rate, symbol_rate, error_filter); } ClockRecovery( - std::function symbol_handler - ) : symbol_handler { symbol_handler } + SymbolHandler symbol_handler + ) : symbol_handler { std::move(symbol_handler) } { } @@ -155,7 +157,7 @@ private: dsp::interpolation::LinearResampler resampler; GardnerTimingErrorDetector timing_error_detector; ErrorFilter error_filter; - std::function symbol_handler; + const SymbolHandler symbol_handler; void resampler_callback(const float interpolated_sample) { timing_error_detector(interpolated_sample, diff --git a/firmware/baseband/packet_builder.hpp b/firmware/baseband/packet_builder.hpp index d32d129d0..e32935298 100644 --- a/firmware/baseband/packet_builder.hpp +++ b/firmware/baseband/packet_builder.hpp @@ -53,8 +53,8 @@ public: const PreambleMatcher preamble_matcher, const UnstuffMatcher unstuff_matcher, const EndMatcher end_matcher, - const PayloadHandlerFunc payload_handler - ) : payload_handler { payload_handler }, + PayloadHandlerFunc payload_handler + ) : payload_handler { std::move(payload_handler) }, preamble(preamble_matcher), unstuff(unstuff_matcher), end(end_matcher)