49 lines
1.3 KiB
C++
49 lines
1.3 KiB
C++
#include "raw_data.hpp"
|
|
|
|
namespace hr::plugins
|
|
{
|
|
// Этот плагин ни чего не делает и предназначен при сохранении единственности интерфейса просто
|
|
// передавать сырые необработанные данные. Например для отрисовки базового сигнала.
|
|
// Он не работает в частотной области
|
|
raw_data::raw_data(const setup& st) : plugin{ st }
|
|
{
|
|
if (st.m_domain != DOMAIN_PLUGIN::TIME)
|
|
hack::error()("Этот плагин работает только во временной области!");
|
|
}
|
|
|
|
void raw_data::process(fvec_t& base, real_time timestamp)
|
|
{
|
|
result::bit b;
|
|
b.m_value = base;
|
|
b.m_duration = timestamp;
|
|
m_tmp.set_bit(b);
|
|
m_size += base.size();
|
|
}
|
|
|
|
void raw_data::process(cvec_t& fft, fvec_t& base, real_time timestamp)
|
|
{
|
|
}
|
|
|
|
result raw_data::get_result()
|
|
{
|
|
if (m_tmp.m_data.empty())
|
|
return m_result;
|
|
|
|
m_result.m_data.reserve(m_size);
|
|
|
|
std::size_t index = 0;
|
|
for (auto& t : m_tmp.m_data)
|
|
{
|
|
for (auto s : t.m_value)
|
|
{
|
|
result::bit b;
|
|
b.m_value.push_back(s);
|
|
b.m_duration = t.m_duration;
|
|
m_result.set_bit(b);
|
|
}
|
|
}
|
|
|
|
return m_result;
|
|
}
|
|
}
|