On Thu, Jul 19, 2012 at 4:46 PM, Gerald Baier <gerald.baier@student.kit.edu> wrote:
Try something like:I was trying that earlier, however, I get this error from my code
output_items[0][:] = x #where x equals a numpy.complex64 array with a length of 32
ValueError: operands could not be broadcast together with shapes (4096) (32)
n_processed = len(x)
output_items[0][:n_processed] = x
return n_processed
I hope that helps.
-Gerald
On Thu, Jul 19, 2012 at 2:44 PM, Josh Blum <josh@ettus.com <mailto:josh@ettus.com>> wrote:
On 07/19/2012 11:28 AM, Anisha Gorur wrote:
> It works now, thanks! It was a combination of a couple dumb
errors on my
> part. One last thing, I was wondering if there was a way to
change the
> length of output_items[0]? It is 4096 by default I believe.
> Thanks,
> Anisha
The item length is basically randomly decided by the scheduler.
However,
you call set_output_multiple(x) and you will be guaranteed to get x*N
items where N is an integer. Also, you dont have to actually fill all
items, just fill the number you plan to produce.
-josh
>
> On Thu, Jul 19, 2012 at 2:13 PM, Josh Blum <josh@ettus.com>> Discuss-gnuradio@gnu.org <mailto:Discuss-gnuradio@gnu.org><mailto:josh@ettus.com>> wrote:
>
>>
>>
>> On 07/18/2012 11:32 AM, Anisha Gorur wrote:
>>> Hello All,
>>>
>>> I've been attempting to create my own source block in Python.
I have been
>>> reading the blocks coding guide here:
>>>
>>
https://github.com/guruofquality/grextras/wiki/Blocks-Coding-Guide#wiki-work-operation-modes
>> ,
>>> but so far my source only outputs zeros.
>>> An outline of my code is as follows:
>>>
>>> class constSource(gr.block):
>>> def __init__(self):
>>> gr.block.__init__(self, name = "signal
source", in_sig =
>>> None,out_sig = [numpy.complex64])
>>>
>>> def work(self, input_items, output_items):
>>> num_output_items = len(output_items[0])
>>>
>>> #I put the code to create what I want to stream here,
the code
>>> creates a numpy.complex64 array with a length of 32. I then return
>>> num_output_items
>>
>>
>> You didnt include the code, but I am guessing that you are not
assigning
>> anything to the output vector?
>>
>> numpy array assignment look like this
>> output_items[0][some kind of index selection] = data
>>
>> Look closely at how the examples do this
>>
>> -josh
>>
>>> return num_output_items
>>>
>>> I then write my constSource block to a file and I try to see
the output
>> of
>>> the file using a scope sink, but it is just a constant stream
of zeros.
>> Am
>>
>>
>> _______________________________________________
>> Discuss-gnuradio mailing list
>> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>>
>
>
>
--
Anisha Gorur
Class of 2012
Electrical Engineering
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Anisha Gorur
Class of 2012
Electrical Engineering
No comments:
Post a Comment