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: [email protected]; [email protected]
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



2) I went ahead and implemented something as an example. Increases gain upto a 
limit and then starts over again. See attached code, xml for block, rxed signal 
plot, and flowgraph pic.

I'm new to this too, so hopefully other will correct my mistakes.

Regards,

AB
_______________________________________________
Discuss-gnuradio mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to