No error message when radio is off

Issue #89 wontfix
khagler@orange-road.com created an issue
  1. Set up an Audio Modem connection with a radio and confirm.
  2. Make sure the audio modem connection is turned off.
  3. Turn the radio off.
  4. Turn the audio modem connection on.
  5. Notice that there is no indication that the app can’t communicate with the radio.

I suggest turning the connection off and putting up an error dialog in this situation with text along the lines of “can’t connect to the radio, make sure you have the connection set up correctly and the radio is on”.

Comments (8)

  1. Weston Bustraan repo owner

    Unfortunately, there is no technical way to determine whether there is a radio connected to an audio connection. It's not really "communicating with the radio", but rather generating and receiving an audio signal. In some (hopefully emergency) situations, users may not even connect the radio with an audio cable, but simply hold the radio close to the mic and speakers. The only way to detect that it was not receiving audio from the radio would be to detect silence, but that would be indistinguishable from a radio that simply has squelch turned on. Also, most of the time, even when a radio is off an audio cable can sometimes pick up a slight "hum" from stray electric noise, which means incoming audio is rarely ever silent even if nothing is connected.

  2. khagler@orange-road.com reporter

    Other apps seem to “fake it” by attempting a PTT command, although I can see that wouldn’t be desirable in the emergency case you mentioned.

  3. Weston Bustraan repo owner

    That would depend on the PTT mechanism that you are using. If you are using the Hamlib PTT connection and connected via serial cable, then, yes, the connection will fail to start if the radio is off.

    The other types, Serial and Audio Channel, though, are unidirectional and get no feedback from the radio. In fact, most of the time, when using these methods, the computer is not directly connected to the computer; there is usually a audio interface like an EasyDigi or a SignaLink in between.

  4. khagler@orange-road.com reporter

    Hmm. Well, they “fake it” somehow, because I use serial (Hamlib PTT doesn’t work with the FT-897) everywhere, and various other apps do complain (“Rig Control Error”) if the radio is off or in use by another app. Still, I can see how the emergency no-connection functionality is more desirable than an error.

  5. Weston Bustraan repo owner

    When you say “serial”, are you referring to a rig control connection of a different flavor other than Hamlib? Or is it the RTS/DTR signal used by EasyDIGI and the like?

    I was in the same boat; no rig control support for my Alinco DX-SR8T, so I hacked support for it into Hamlib. But I have found that various other apps implement rig control using custom code, rather than libraries like Hamlib.

    If it’s a rig control situation, then you have bidirectional communication with the radio outside of the audio channels and that would give you the ability to detect when the radio was off.

    Practically, I have to go with a library like Hamlib, because I don’t have the physical radios to test a custom rig control implementation. Although, even if I did have the radios, I probably go the route of adding support to Hamlib rather than rolling my own.

  6. khagler@orange-road.com reporter

    Yes, RTS. By way of illustration, here’s a screenshot of my fldigi setup.

    (This setup actually doesn’t work with QTH, but that’s a separate issue.)

  7. khagler@orange-road.com reporter

    I have a Digimode-4, as seen here: http://www.xggcomms.com/Yaesu-Interface-Shop(2066629).html

    I’m using two of fldigi’s configuration panels for the radio setup--the PTT one above, and hamlib for everything but PTT. Other digital apps have different UIs, but for all of them I have PTT set up using the same settings. Everything else is done via CAT/hamlib (the UIs for WSJT-X and JS8Call don’t specify, but I think Cat for them means hamlib).

    Whenever I launch one of those apps, it puts the radio into transmit for a fraction of a second, and if it can’t I get some sort of error. I get the same error if I launch an app when another was already connected to the radio (for example, if JS8Call is running in the background and I launch fldigi) so it can’t necessarily tell the radio is on, just whether it can use it. I’m actually just assuming that the momentary transmit is how it does that--it’s possible that it’s actually doing it a different way and the transmit at startup is from something else.

  8. Log in to comment