-add feeding buffer for PocSAC-decoder
git-svn-id: http://moon:8086/svn/software/trunk/projects/GnuRadio@409 b431acfa-c32f-4a4a-93f1-934dc6c82436
This commit is contained in:
@@ -48,6 +48,7 @@ preamble_sync_impl::preamble_sync_impl()
|
|||||||
, m_wordCount(0)
|
, m_wordCount(0)
|
||||||
, m_wordSize(1)
|
, m_wordSize(1)
|
||||||
, m_dataCount(0)
|
, m_dataCount(0)
|
||||||
|
, bufferWi(0)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -203,8 +204,18 @@ int preamble_sync_impl::general_work (int noutput_items, gr_vector_int &ninput_i
|
|||||||
// each input stream.
|
// each input stream.
|
||||||
consume_each (i);
|
consume_each (i);
|
||||||
|
|
||||||
|
memcpy(&buffer[bufferWi], out, j);
|
||||||
|
|
||||||
|
bufferWi += j;
|
||||||
|
|
||||||
|
if (bufferWi >= sizeof(buffer)/2)
|
||||||
|
{
|
||||||
|
size_t numProcessed = dec.process(buffer, bufferWi);
|
||||||
|
bufferWi -= numProcessed;
|
||||||
|
memcpy(buffer, &buffer[numProcessed], bufferWi);
|
||||||
|
}
|
||||||
|
|
||||||
// Tell runtime system how many output items we produced.
|
// Tell runtime system how many output items we produced.
|
||||||
dec.process(out, j);
|
|
||||||
return j;
|
return j;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -52,6 +52,8 @@ class preamble_sync_impl : public preamble_sync
|
|||||||
size_t m_wordCount;
|
size_t m_wordCount;
|
||||||
size_t m_wordSize;
|
size_t m_wordSize;
|
||||||
size_t m_dataCount;
|
size_t m_dataCount;
|
||||||
|
uint8_t buffer[256];
|
||||||
|
size_t bufferWi;
|
||||||
|
|
||||||
PocsagDecoder dec;
|
PocsagDecoder dec;
|
||||||
public:
|
public:
|
||||||
|
|||||||
Reference in New Issue
Block a user