[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Discuss-gnuradio] Python OOT Block Selectable Types
From: |
Marcus Müller |
Subject: |
Re: [Discuss-gnuradio] Python OOT Block Selectable Types |
Date: |
Fri, 13 May 2016 18:23:24 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 |
What should is if you use strings to initialize the data type,
in_sig = [numpy.dtype(string_passed_via_constructor_argument)]
and use an option field that gives you "uint16", "float32", "byte",
"complex64"…
Cheers,
Marcus
On 13.05.2016 18:13, Martin Braun wrote:
> You can definitely do that. Passing in some numeric or string value as
> the type to your block and then mapping to the correct numpy type would
> definitely work. Maybe you can even select numpy types from a GRC file,
> not sure if a GRC enum will allow you to choose numpy types.
>
> M
>
> On 05/12/2016 03:16 PM, Richard Bell wrote:
>> Martin,
>>
>> I like the first idea. Would it be possible to create a new variable in
>> the xml file that is assigned numpy.float32 when the user selects the
>> float option, or is assigned numpy.complex64 when the user selects the
>> complex option? Another words, I don't want the user to have to select
>> the port type AND have to type in the python type of the port, that
>> should be clear from the port type drop down selection. I'm just not
>> sure how to work this in the xml file, or if its even possible.
>>
>> Rich
>>
>> On Thu, May 12, 2016 at 11:11 AM, Martin Braun <address@hidden
>> <mailto:address@hidden>> wrote:
>>
>> You can either make this a block argument (i.e., you ask the user to
>> pass in numpy.float32 or whatever), or, to keep consistent with the C++
>> way of doing things, you can make a block argument called 'sizeof' and
>> then create a dict that maps sizes to numpy.<FOO> values, and use that
>> to set in_sig.
>>
>> M
>>
>> On 05/11/2016 02:04 PM, Richard Bell wrote:
>> > I've created a python based OOT block and I want to give the user the
>> > ability to select the input/output type. I know how to do this for C++
>> > based blocks, but I'm stuck on what to do with the python blocks
>> > signature, as it doesn't ask for the item_size like the C++ blocks
>> do. I
>> > have to give it something explicit like
>> >
>> > in_sig = [numpy.float32]
>> >
>> > How do I write the generic sig that depends on what the user
>> selected in
>> > GRC?
>> >
>> > Note: The algorithm in the body of this block doesn't change depending
>> > on type selected. It's a simple block.
>> >
>> > Thanks,
>> > Rich
>> >
>> >
>> > _______________________________________________
>> > Discuss-gnuradio mailing list
>> > address@hidden <mailto:address@hidden>
>> > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>> >
>>
>>
>> _______________________________________________
>> Discuss-gnuradio mailing list
>> address@hidden <mailto:address@hidden>
>> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>>
>>
>
> _______________________________________________
> Discuss-gnuradio mailing list
> address@hidden
> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio