|Subject:||Re: Message debug block|
|Date:||Fri, 19 Nov 2021 23:50:31 +0100|
In this case, there is an extra bit of confusion because an empty PMT dictionary `pmt.make_dict()` is represented by (and the same as) `pmt.PMT_NIL`. An interned string, as in your first example, is not a dictionary type object and thus you get the warning message.
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Friday, November 19th, 2021 at 3:30 AM, Vasil Velichkov <firstname.lastname@example.org> wrote:
> Hi Marcin,
> On 18/11/2021 15.23, Marcin Puchlik wrote:
> > *pmt.cons(pmt.intern(""), pmt.make_u8vector(16, 0xFF)) - *where Debug
> > block cannot extract the PDU - gr::log :WARN: message_debug0 - Non PDU type
> > message received. Dropping.
> Not every message is a PDU . Have a look at is_pdu() in pmt.h  and read the discussion in issue #4191 .
> - Returns true if the object is a PDU meaning:
> - the object is a pair
> - the car is a dictionary type object (including an empty dict)
> - the cdr is a uniform vector of any type
> PMT_API bool is_pdu(const pmt_t& obj);
>  https://wiki.gnuradio.org/index.php/Message_Passing#PDUs
>  https://github.com/gnuradio/gnuradio/blob/maint-3.9/gnuradio-runtime/include/pmt/pmt.h#L707-L713
>  https://github.com/gnuradio/gnuradio/issues/4191
|[Prev in Thread]||Current Thread||[Next in Thread]|