Skip to content
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

Closed
ly2ss opened this issue Jul 8, 2017 · 11 comments
Closed

TX/RX (PTT) button/plugin for HackRF One. #36

ly2ss opened this issue Jul 8, 2017 · 11 comments
Assignees
Milestone

Comments

@ly2ss
Copy link

ly2ss commented Jul 8, 2017

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.

@f4exb
Copy link
Owner

f4exb commented Jul 9, 2017

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.

@ly2ss
Copy link
Author

ly2ss commented Jul 12, 2017

You were right - once you click on T1 tab, receiver stops in R0 tab.
But for some (unknown to me) reason one must click 4 times to switch from RX to TX:
click on T1 tab
click twice on stop/play button
only on 4th click HackRF starts to send.
Switching back from TX to RX needs also 4 clicks.
This is why I was proposing some kind of "plugin" (wrong word, maybe "HackRF One transceiver" could be better) - a separate pane with one toggle PTT button.
And the same pane could have a checkmark for user to choose if he needs RX/TX frequencies to be the same or separate. Some people need to tx/rx on the same frequency (f.e. simplex channels. This way transmitter "follows"receivers frequency). Other people - operate on split frequencies (sats, repeaters, dx - then one should set frequencies separately in R and T tabs).
BTW: I checked - different frequencies (2m on R0 ant 70cm on T1) work ok with HackRF One.
I do understand that all this could end with endless requests for features but it's a sad situation - such a great device but still almost no comfortable transceiver application to choose from.

@f4exb
Copy link
Owner

f4exb commented Jul 19, 2017

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.

@f4exb
Copy link
Owner

f4exb commented Jul 19, 2017

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.

@f4exb f4exb self-assigned this Jul 20, 2017
@f4exb
Copy link
Owner

f4exb commented Jul 20, 2017

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".

@f4exb f4exb modified the milestones: v3.6.0, v3.5.2 Jul 21, 2017
@ly2ss
Copy link
Author

ly2ss commented Jul 22, 2017

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)

@ly2ss
Copy link
Author

ly2ss commented Jul 23, 2017

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).
IMHO that's all the functionality needed to start easy voice AM/SSB/FM operations with HackRF One.

@f4exb
Copy link
Owner

f4exb commented Jul 23, 2017

Implemented in v3.5.2

@f4exb f4exb closed this as completed Jul 23, 2017
@f4exb
Copy link
Owner

f4exb commented Jul 23, 2017

  1. The Rx/Tx frequency link only works for the same HackRF device. Also it will work from the next frequency change after the link button has been engaged. It does not copy the Rx frequency to Tx instead it applies the Rx frequency change to Tx. This allows split and repeater operation by keeping the frequency offset between Rx and Tx.
  2. Sorry there will not be a PTT button.

@watkipet
Copy link

watkipet commented Jun 6, 2019

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.

@f4exb
Copy link
Owner

f4exb commented Jun 6, 2019

sdrangelsrv I suppose this is what you are talking about does not have a GUI. That's the very purpose of the server variant. So I don't know what you are up to.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants