1
0
mirror of https://github.com/gnss-sdr/gnss-sdr synced 2025-11-09 19:53:04 +00:00

changing some raw pointers by smart pointers in the core receiver.

git-svn-id: https://svn.code.sf.net/p/gnss-sdr/code/trunk@502 64b25241-fba3-4117-9849-534c7e92360d
This commit is contained in:
Carles Fernandez
2014-04-03 21:59:14 +00:00
parent 1b8204bdb3
commit 4e714bf033
26 changed files with 380 additions and 536 deletions

View File

@@ -44,44 +44,39 @@ unpack_byte_2bit_samples_sptr make_unpack_byte_2bit_samples()
return unpack_byte_2bit_samples_sptr(new unpack_byte_2bit_samples());
}
unpack_byte_2bit_samples::unpack_byte_2bit_samples()
: sync_interpolator("unpack_byte_2bit_samples",
gr::io_signature::make(1, 1,sizeof(signed char)),
gr::io_signature::make(1, 1,sizeof(float)),
4)
{
}
unpack_byte_2bit_samples::unpack_byte_2bit_samples() : sync_interpolator("unpack_byte_2bit_samples",
gr::io_signature::make(1, 1, sizeof(signed char)),
gr::io_signature::make(1, 1, sizeof(float)),
4)
{}
unpack_byte_2bit_samples::~unpack_byte_2bit_samples()
{
{}
}
int unpack_byte_2bit_samples::work(int noutput_items,gr_vector_const_void_star &input_items,
gr_vector_void_star &output_items)
int unpack_byte_2bit_samples::work(int noutput_items,
gr_vector_const_void_star &input_items,
gr_vector_void_star &output_items)
{
const signed char *in = (const signed char *)input_items[0];
float *out = (float*)output_items[0];
byte_2bit_struct sample;
int n=0;
for(int i = 0; i < noutput_items/4; i++) {
// Read packed input sample (1 byte = 4 samples)
signed char c = in[i];
sample.two_bit_sample=c & 3;
out[n++]=(float)sample.two_bit_sample;
int n = 0;
for(int i = 0; i < noutput_items/4; i++)
{
// Read packed input sample (1 byte = 4 samples)
signed char c = in[i];
sample.two_bit_sample = c & 3;
out[n++] = (float)sample.two_bit_sample;
sample.two_bit_sample=(c>>2) & 3;
out[n++]=(float)sample.two_bit_sample;
sample.two_bit_sample = (c>>2) & 3;
out[n++] = (float)sample.two_bit_sample;
sample.two_bit_sample=(c>>4) & 3;
out[n++]=(float)sample.two_bit_sample;
sample.two_bit_sample=(c>>6) & 3;
out[n++]=(float)sample.two_bit_sample;
}
sample.two_bit_sample = (c>>4) & 3;
out[n++] = (float)sample.two_bit_sample;
sample.two_bit_sample = (c>>6) & 3;
out[n++] = (float)sample.two_bit_sample;
}
return noutput_items;
}

View File

@@ -34,6 +34,7 @@
#include <gnuradio/sync_interpolator.h>
class unpack_byte_2bit_samples;
typedef boost::shared_ptr<unpack_byte_2bit_samples> unpack_byte_2bit_samples_sptr;
unpack_byte_2bit_samples_sptr make_unpack_byte_2bit_samples();
@@ -51,7 +52,8 @@ private:
public:
unpack_byte_2bit_samples();
~unpack_byte_2bit_samples();
int work (int noutput_items, gr_vector_const_void_star &input_items,
int work (int noutput_items,
gr_vector_const_void_star &input_items,
gr_vector_void_star &output_items);
};