discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] create uniform PMT vector from python


From: Ben Reynwar
Subject: Re: [Discuss-gnuradio] create uniform PMT vector from python
Date: Thu, 11 Apr 2013 11:56:15 -0700

Just for the sake of anybody else who finds this mail thread when searching.

Check out the file 'pmt_to_python.py' which resides at
'gnuradio-runtime/python/pmt/pmt_to_python.py' (the location pre-3.7
is different).

The two useful functions are:
pmt.to_pmt - Converts a python object to a PMT object.
pmt.python_to_pmt.python_to_pmt - Converts a PMT object to a python object.

It can handle booleans, strings, integers, longs, floats, complex
numbers, dictionaries, lists and tuples.

I added a mention of these functions to the wiki.

On Thu, Apr 11, 2013 at 11:27 AM, Ben Reynwar <address@hidden> wrote:
> Yes, that's perfect. Thanks.
>
> On Thu, Apr 11, 2013 at 10:58 AM, Martin Braun (CEL)
> <address@hidden> wrote:
>> Hi Ben,
>>
>> doesn't pmt.to_pmt(LIST) do what you want?
>>
>> Cheers,
>> MB
>>
>> On Thu, Apr 11, 2013 at 10:03:21AM -0700, Ben Reynwar wrote:
>>> Great, thanks.  I'm only using it for QA code so setting the elements
>>> one by one like you suggest will work fine.
>>>
>>> On Thu, Apr 11, 2013 at 9:52 AM, Martin Luelf <address@hidden> wrote:
>>> >> Hi all,
>>> >>
>>> >> Is there a way to create a uniform PMT vector from python?
>>> >>
>>> >> I can use, for example, 'pmt.make_c32vector(length, value)' to create
>>> >> a vector where each element is 'value' but I don't see a way to modify
>>> >> these values from python.
>>> >>
>>> >> If there isn't, are there any objections to overloading these
>>> >> functions to take std::vectors as input so that we can pass in lists
>>> >> from python?
>>> >>
>>> >> Cheers,
>>> >> Ben
>>> >
>>> > Hi,
>>> >
>>> > I remember, I wasn't sure about the supposed way of doing that either for
>>> > a u8vector. Finally I used the set method to set the individual elements
>>> > like this:
>>> > ------
>>> > # elements as list
>>> > values = (0xA1, ...)
>>> >
>>> > # create pmt vector with one default value for all elements
>>> > pmtvector = pmt.pmt_make_u8vector(len(values), 0x00)
>>> >
>>> > # set the individual elements
>>> > for i in xrange(len(values)) :
>>> >         pmt.pmt_u8vector_set(pmtvector, i, values[i])
>>> > ------
>>> >
>>> > Not nice, but it works for me. Although I agree that passing a list at
>>> > construction would be very handy.
>>> >
>>> > Yours
>>> > Martin
>>> >
>>> >
>>> > _______________________________________________
>>> > Discuss-gnuradio mailing list
>>> > address@hidden
>>> > https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>>>
>>> _______________________________________________
>>> Discuss-gnuradio mailing list
>>> address@hidden
>>> https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
>>
>> --
>> Karlsruhe Institute of Technology (KIT)
>> Communications Engineering Lab (CEL)
>>
>> Dipl.-Ing. Martin Braun
>> Research Associate
>>
>> Kaiserstraße 12
>> Building 05.01
>> 76131 Karlsruhe
>>
>> Phone: +49 721 608-43790
>> Fax: +49 721 608-46071
>> www.cel.kit.edu
>>
>> KIT -- University of the State of Baden-Württemberg and
>> National Laboratory of the Helmholtz Association
>>
>> _______________________________________________
>> 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]