Hello everyone,

I have been attempting to make my own block that sends out a boolean
message if certain time related conditions are met.

I am unable to figure out why my block does not work. This seems to be the
line of interest:

*self.message_port_pub(pmt.intern('msg_out'), pmt.PMT_T)*

This line should cause the block to output a PMT true through port msg_out
right?

My full block is attached bellow. Any help would be greatly appreciated.

Thank you all for your time,

Ali

======================
import numpy as np
from gnuradio import gr
import pmt
import datetime

class msg_block(gr.basic_block):  # other base classes are basic_block,
decim_block, interp_block
    """This block checks time and sends true or false if capture period is
desired"""

    def __init__(self, minutes=15, seconds=10):  # only default arguments
here
        """arguments to this function show up as parameters in GRC"""
        gr.basic_block.__init__(
            self,
            name='Time Enable',   # will show up in GRC
            in_sig=None,
            out_sig=None
        )
        self.message_port_register_out(pmt.intern('msg_out'))
        now = datetime.datetime.now()
        #P_true = pmt.PMT_T
        #P_false = pmt.PMT_F
        if ((now.minute % minutes) == 0): #check if minute is ok
            if (now.second < seconds): #check if capture period is ok
                self.message_port_pub(pmt.intern('msg_out'), pmt.PMT_T)
            else:
                self.message_port_pub(pmt.intern('msg_out'), pmt.PMT_F)
        else:
            self.message_port_pub(pmt.intern('msg_out'), pmt.PMT_F)

    def work(self, input_items, output_items):
        pass
=====================================
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to