discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] Transmitter Control


From: Kevin Reid
Subject: Re: [Discuss-gnuradio] Transmitter Control
Date: Fri, 9 Sep 2016 08:59:54 -0700

On Fri, Sep 9, 2016 at 8:49 AM, Gavin Jacobs <address@hidden> wrote:

I am working on a flow graph to send APRS packets. I have made good progress from the UDP source up to the GR-OSMOSDR sink, but I am a bit stuck on how to enable/disable the transmitter of the hackrf.

Unfortunately, gr-osmosdr does not support T/R switching itself. I have run into this myself and written up a request for this to be fixed at https://github.com/mossmann/hackrf/issues/195 . Unfortunately no one has taken up working on it; perhaps you can, or can find someone.

I would like any advice or comments on these options:
 1) write a new sink block that accepts messages or tags to control the transmitter

This would be great. Preferably, it would be a modification to gr-osmosdr so that it could also be used in the same way with other transceivers (USRP, bladeRF, etc.).

 2) enable/disable the sink at run time; I'm not hopeful because if I do this manually, the TX LED stays on

This is possible. You have to ensure that the sink object is actually destroyed (no references remain to it), and that if you are also receiving, the lifetime of the sink does not overlap with the lifetime of the source (or they will interfere and things won't work).

The catch to doing flowgraph modifications to cause this is that GNU Radio retains references until the flow graph is unlocked (because changes don't take effect until then). So you have to do a multi-step process if you are also receiving: lock, remove sink from graph, drop your own references, unlock. I have written sample code to do this: https://pairlist9.pair.net/pipermail/hackrf-dev/2015-June/001240.html

If you are only transmitting, however, there is a theoretically simpler solution: let the HackRF remain in transmit mode, and just transmit zeros when you do not have a packet. This will ideally produce no RF output, but in practice there will be a small amount. It might be adequate.

reply via email to

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