discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] strange operation when char at input


From: Tom Rondeau
Subject: Re: [Discuss-gnuradio] strange operation when char at input
Date: Wed, 29 May 2013 22:04:39 -0400

On Wed, May 29, 2013 at 7:24 PM, Nemanja Savic <address@hidden> wrote:
> Hm, could be, I will see later, but I see now that for example
> digital_correlate block has unsigned.
>
> Thank you Tim.
>
> Nemanja

Yes. Unlike most data types, there's a strong signed/unsigned property
to chars between Python and C++. A char vector is assumed unsigned.
Looks like you have to force it to be signed.

Tom


> On Thu, May 30, 2013 at 12:59 AM, Monahan-Mitchell, Tim
> <address@hidden> wrote:
>>
>> I worked on an "interleaved char to complex" block some time ago. It was
>> not working right until I changed it to specify 'signed' char instead of
>> letting the compiler default happen (which could be either way). - Tim
>>
>> From: address@hidden
>> [mailto:address@hidden On
>> Behalf Of Nemanja Savic
>> Sent: Wednesday, May 29, 2013 4:55 PM
>> To: address@hidden
>> Subject: [Discuss-gnuradio] strange operation when char at input
>>
>> Hi all guys,
>> I wouldn't bother again but I have spent a lot of time trying to figure
>> out what's going on.
>> Nameli I want to design block with char type at input and char type at the
>> output.
>> After finished with the design I realized strange block operation. Input
>> samples were always zero. Then I tried with this:
>> int
>> test_proba_sync_bb::work(int noutput_items,
>>           gr_vector_const_void_star &input_items,
>>           gr_vector_void_star &output_items)
>> {
>>     const char *in1 = (const char *) input_items[0];
>>     char *out = (char *) output_items[0];
>>     const char *in2 = (const char *) input_items[1];
>>
>>     // Do <+signal processing+>
>>     for(int i=0;i<noutput_items;i++)
>>         out[i] = in1[i]+in2[i];
>>     // Tell runtime system how many output items we produced.
>>     return noutput_items;
>> }
>>
>> After quite some time I designed similar block with float ports and it
>> worked. Then I changed upper block to have short type at input and output
>> and it worked just fine.
>> And yes, in test everything works just fine, but in grc not, It always
>> spits 0 at the output.
>> Is there any possible complications with endianess or I don't know.
>>
>> Best,
>>
>>
>> --
>> Nemanja Savić
>
>
>
>
> --
> Nemanja Savić
>
> _______________________________________________
> Discuss-gnuradio mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]