-
Notifications
You must be signed in to change notification settings - Fork 453
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
TX/RX (PTT) button/plugin for HackRF One. #36
Comments
HackRF is a half duplex device so I think that when you start the Tx side in the Tx tab the Rx automatically stops in the Rx tab and vice versa. I am not sure it actually does that but it should. I am not sure the Rx and Tx frequencies can be independent either I also have to check that. For example on the LimeSDR the sample rate is the same for Rx and Tx and if you change it in any of the Rx or Tx instances it will change in all the related ones. The "philosophy" of plugins is that they drive distinct sampling device instances materialized with the Rn and Tn tabs you see (n being a sequence number). So there cannot be such thing as a single plugin driving both Rx and Tx. There is a mechanism behind the scenes that entangles "soft' devices belonging to the same hardware device so they can communicate and possibly drive each other. Still they are represented in the software as distinct devices. |
You were right - once you click on T1 tab, receiver stops in R0 tab. |
Normally switching Rx/Tx with the "play" button should require at most 2 clicks: 1 to stop the Rx or Tx and another to start the Tx or Rx respectively. Ideally switching on Tx or Rx should stop the Rx or Tx counterpart. So the 4 clicks is a problem definitely. I don't see a PTT button fitting very well with the plugins. However it would be possible to have an option to link and unlink Rx and Tx frequencies so they can be set independently when unlinked then can be varied accordingly when linked. Thus you can have whichever offset from Rx to Tx or no offset at all. Once it is all set you can save the Rx and Tx configuration as presets. Possibly the Rx and Tx settings could be combined in the same preset but the practicality has to be investigated. Maybe better organizing the presets with more grouping levels could be a solution. This will be done with another ticket. |
Taking the Rx to Tx example the correct sequence is stop Rx then start Tx. The nice to have is to trigger this sequence just from start Tx. From Tx to Rx the same by exchanging Rx and Tx. The automatic stop before start is now working on dev branch. |
Implemented link Tx frequency to Rx frequency option in dev branch (new button with link icon). The reverse is not implemented because of its added complexity to cancel infinite bouncing loop. So in fact Rx is "master". |
I am expecting that when this option activated, RX frequency from R0 tab immediately will be transferred to T1 but it is not. No matter what I do - I can't make it work: TX frequency remains unchanged. What I am possibly doing wrong? (tried to delete .config/f4exb folder too - no help) |
Just an idea (and only for HackRF One source/sink): to put that "PTT" button near the link frequencies button in R0 tab. I don't know if this possible but this way operation would be very easy - "point ant shoot" style and no need to switch between tabs (except maybe cw operation). |
Implemented in v3.5.2 |
|
I can control each plugin through the RESTful interface in sdrsrv even if the GUI is running, right? If so, it seems like I could have an external program do the PTT by turning off the RX plugin and turning on the TX one (assuming only one plugin for each). Then I suppose I could connect this external program to a MIDI controller to get extra fancy. |
|
Would it be possible to implement simple RX/TX switching with single button? Kind of "HackRF One Transceiver plugin", where could be also possibility to check mark "RX_freq = TX_freq" for sink and source ?
This way TX frequency would be the same as RX.
There's a lack of FM/SSB/CW etc transceivers for HackRF and SDRangel is almost quite there.
The text was updated successfully, but these errors were encountered: