|
From: | Bakshi, Arjun |
Subject: | Re: [Discuss-gnuradio] OOT Block to Automatically adjust Transmit Gain |
Date: | Mon, 24 Jul 2017 06:29:03 +0000 |
An older message that didn't get through.
=============================
>From original message >> I want it to send out 12 0's in addition to sending the sink block a command to adjust the gain. I believe sending out the 12 0's should be handled in the forecast function
In my understanding, what you want to change is the work/general_work function. (I've never had to change the forecast function.)
Handling consume/produce through the general_work function: -- The return <integer> call tells the system that your block has PRODUCED <integer> number of samples on its output stream. --The self.consume_each(<integer>) or consume() call tells the system that your block no longer needs <integer> number of old inputs from all streams/that specific stream.
I would do it in the following way: --Make a general block with 1 streaming INput, 1 streaming OUTput and 1 message output.
--When condition is met: ------In the general_work function send the gain message when your condition is met
------In the general_work function, set 12 output stream samples to 0, when condition is met, and do "return 12".
--When condition is not met: ------Tell system that your block produced nothing by calling "return 0".
Regards,
AB From: Bakshi, Arjun
Sent: Thursday, July 13, 2017 2:48 PM To: address@hidden; address@hidden Subject: Re: [Discuss-gnuradio] OOT Block to Automatically adjust Transmit Gain Couldn't figure out how to reply from the digest, so I'm making a new post. New to this.
Original message/context: ============================== From: Tellrell White
I'm currently in the process of creating a block in python that does two things; takes in? a certain number of input items, and once it reaches a certain number of input items 2) it sends a command to the UHD USRP sink block to adjust its gain by a certain amount. I have a few questions. 1) Is it even possible to create a single block that can accomplish both these tasks? 2) How exactly do I make this block issue the command to adjust the gain after it receives a certain number of values??Below is some code that I currently have constructed for this purpose. I'm pretty new to python so I'm sure this code is probably not the most efficient way but any suggestions are welcome.
===============================
Hey Tellrell,
1) I think it can be achieved using 1 block. The block will need to output a message with "gain" and the gain value whenever the input matches your condition. Connect the output message port to the USRP sink's command port. Message should be a pmt that looks something like ("gain", value).
More info on the command port: https://gnuradio.org/doc/doxygen/page_uhd.html#uhd_command_syntax
I'm new to this too, so hopefully other will correct my mistakes. Regards, AB |
[Prev in Thread] | Current Thread | [Next in Thread] |