discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: Controlling flowgraph


From: Paul Atreides
Subject: Re: Controlling flowgraph
Date: Mon, 6 Jun 2022 04:15:05 -0400

This link contains the relevant information to the structure of a flowgraph’s top block function, which is what you pasted below. 
https://wiki.gnuradio.org/index.php/Handling_Flowgraphs

You may find some help regarding handling burst tags in the documentation for these blocks. 
https://github.com/sandialabs/gr-pdu_utils

You can get what your asking for with some external python code or a snippet if the precision needed isn't particularly precise. You can just put a complex multiply before the UHD sink and automate setting the value to 0 (transmitter off) or 1 (transmitter on), adding a second command to call set_gain to 0 for tx off and your desired tx output value in tandem with the complex multiply will most likely get what you want. Placing this login in a while loop that has a time.sleep(3) would work in a python snippet.

You said you’re ‘implementing’ the transmission of LoRa frames. 
Are you familiar with this project? It’s a full implementation of the LoRa protocol. 

https://github.com/tapparelj/gr-lora_sdr

<end transmission>

On Jun 6, 2022, at 03:14, Vamshi Sainath Gavani <rafale10574@gmail.com> wrote:


Hello Folks,

Here I'm implementing the transmission of LoRa Frames and I want to be able to stop the flowgraph(Stop Transmitting) between frames say the packet is set to transmit every 3s so at tx_eob turn off tx and tx_sob start tx.
Below is my Flow graph code snippet can you let me know how I can turn off/on tx between the frames?

def main(top_block_cls=lora_TX, options=None):
    tb = top_block_cls()

    def sig_handler(sig=None, frame=None):
        tb.stop()
        tb.wait()
        sys.exit(0)

    signal.signal(signal.SIGINT, sig_handler)
    signal.signal(signal.SIGTERM, sig_handler)

    tb.start()
    try:
        input('Press Enter to quit: ')
    except EOFError:
        pass
    tb.stop()
    tb.wait()

if __name__ == '__main__':
    main()

Thanks and Regards,
Sainath Vamshi

reply via email to

[Prev in Thread] Current Thread [Next in Thread]