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

Proposal: Multiple button signaling on PTT line? #8

Open
hcarter333 opened this issue Dec 15, 2022 · 5 comments
Open

Proposal: Multiple button signaling on PTT line? #8

hcarter333 opened this issue Dec 15, 2022 · 5 comments

Comments

@hcarter333
Copy link

Not so much an issue as a proposal. Could the standard also include a pinout for a CW keyer rather than a mic? Folks might like, (I suspect very much), to bring their own keyer as well.

I've built up a prototype of this idea at hcarter333/rockmite#6

Thanks very much for putting together the standard! It inspired the work I did above. Also, if this isn't appropriate place for this question/suggestoin, please let me know, and I'll close or delete the issue. Thanks again!
73 de KD0FNR

@SmittyHalibut
Copy link
Contributor

I literally just responded to your email to the OHIS mailing list and came here to enter an Issue in the backlog. You beat me to it. :-)

This is absolutely an appropriate place for this. Thank you for submitting your idea. It's a great one.

Unfortunately, the pinouts you listed above are not OHIS compliant. OHIS is the definition of the signals, and what pins they go on. Repurposing the Mic+ and Mic GND pins for contact closures breaks OHIS compatibility.

Instead, I propose the PTT line be extended from "Contact closure to ground for PTT" to a more complex analog signal:

  • 1.00 * V_cc: Idle.
    • This is the "pulled up" state, same as before.
  • 0.75 * V_cc: Button 3, Dit, Up
  • 0.50 * V_cc: Button 2, Function
  • 0.25 * V_cc: Button 1, Dah, Down
  • 0.00 * V_cc (aka GND): PTT.
    • This is the "contact closed to ground" state, same as before.

This should probably be an optional extension that not every device has to support. eg: some radios that don't have or use extra buttons like a keyer, won't bother implementing these.

Encoding this would be pretty easy, just a voltage divider, so long as the pull-up impedance is known, or higher than the voltage dividers.

Decoding is more tricky. Probably a pair of LM393 comparators, a voltage divider ladder, and some logic gates on the output to select only one output at a time. Unless someone knows a better way to do this.

If I help with the circuits for this, would you be willing to prototype and test this @hcarter333 ?

@hcarter333
Copy link
Author

hcarter333 commented Dec 18, 2022

@SmittyHalibut I'd be wilingl to prototype. The circuits as described above seem straightforward enough. Cool!

@SmittyHalibut SmittyHalibut changed the title Can standard contain alternative CW pin diagram Proposal: Multiple button signaling on PTT line? Feb 27, 2023
@SmittyHalibut
Copy link
Contributor

Updating summary to reflect how I'm thinking about this now.

@SmittyHalibut
Copy link
Contributor

Also worth considering that CTIA has something similar, but on the Mic line instead of PTT (which CTIA doesn't have.)

https://source.android.com/docs/core/interaction/accessories/headset/plug-headset-spec

I can think of several reasons NOT to go this route with OHIS, but its worth thinking about.

@SmittyHalibut
Copy link
Contributor

This came up on the OHIS mailing list again: https://groups.io/g/ohis/topic/classic_radio_integration/102146840

Rather than define it by voltages as in https://groups.io/g/ohis/topic/classic_radio_integration/102146840, I think I like defining it by impedance instead. Something like:

  • Hi-Z is idle.
  • 0R to ground is PTT. (These two make it backward compatible with the current design.)
  • 10k to ground is Dit.
  • 33k to ground is Dah.
  • 7.7k to ground is Dit and Dah together (spoiler: 10k||33k=7.7k)

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

No branches or pull requests

2 participants