Topics

No Mute via TCP? #fdm-sw2 #fmd-s2


Jeff Patterson
 

I'm writing a program to synchronize my transceiver frequency to the fdm-s2 and visa-versa without using Omnirig which has some unfortunate side effects. It's working fine but now the SDR does not mute when I transmit. Looking through the TCP documentation I don't see any way to mute the audio channels. I know I can do it with HW but I don't have the connector yet.

Am I missing something?

Jeff NG6X


 

Hi Jeff,

when a TCP is connected correctly with the right millisecond interval you get and set the Frequency, Mode, S-Meter data ecc... as the primary data you need.
In any case the read/set sequence for this continuous data request must be correct and does never interfere with OmniRig enabled ONLY with the SW2 Menu [Remote Ctrl] > [ ] Enable OmniRig. (don't activate Omnirig with your Software or other)

Concerning the Mute question:
Have a look at the SW2 [Audio] Menu settings [Volume Settings] maybe it works.
I don't know which transceiver you are using. (I presume the DUO i'm not using)

TS like Icom, Kenwood ecc. they use mute commands you could implement with your software. SerialPort using COM virtual ports.
It is possible to run TCP, OmniRig and p.e. COM1 together.

Raimund
https://groups.io/g/EladSDR/message/14452
.


Jeff Patterson
 
Edited

Hi Raimund,
My C# program for rig synchronization is working well. To solve the mute issue I ended up using a .Net package (available from nuget) which provides C# wrappers around the MS CoreAudio API and using that to mute the audio when my program detects (via Omnirig) that my icom IC-7700 is transmitting. It's not perfect in that I get a 100ms or so of my audio before the mute occurs but it has the added advantage of muting everything, including a web sdr if I'm listening to one of those which I sometimes do when running a net under difficult band conditions. When I get the serial cable built to do HW muting I'm sure my S2 issue will be completely resolved. 

My program incorporates the omnirig DLLs which are event driven by the IC-7700. Changes in the 7700 (frequency and mode) are translated into TCP commands to sync the s2. This is kind of cool as it provides knob control of the s2, using the knobs on the rig. A separate thread polls the s2 for changes which are relayed to ic-7700 via omnirig. A arbiter thread determines which unit is in control. This gives the best of both worlds. You can use tune both the s2 and the rig by clicking on the waterfall or direct tuning the s2, by clicking on a station in cw skimmer/fldigi, or you can use the knobs and other controls on the transceiver. Either direction everything stays in sync. To work split mode, I simply use the dTx or RIT on the 7700 and the s2 stays put.

The polling thread also gets the S-meter value and displays it on a scrolling "strip chart" display which is very handy for reporting signal reports as you can easily see the peak and average values over time. With this set-up, I do not enable Omnirig in SW2 which solves my original problem and also keeps the waterfall stationary when tuning which is a big plus.  The only downside is having to poll the s2 (no events in TCP). I found a 200ms polling interval though works well,  giving a good compromise between responsiveness on my GUI and the SW2 GUI. 

Thanks for your suggestions,
73
Jeff NG6X


 

Hi Jeff,
Great, that's exactly how it should be.

A interconnection SW2 <> RIG using TCP/Omni/ComPort, depending on what we want to achieve, can resolve many problems that are coming up sometimes here in the Forum.

Raimund
.


Jeff Patterson
 

True but expecting users to write software to fix problems is often a bridge too far IMHO.

Jeff


Neil Smith G4DBN
 

Has anyone raised a feature request ticket about the lack of a mute option in the TCP server when used with the S2?  It should be simple just to replicate the transmit command which obviously mutes a DUO.  I don't have an S2, so it isn't sensible for me to raise a ticket.

http://support.eladit.com/open.php

Neil G4DBN

On 31/12/2019 00:01, Jeff Patterson via Groups.Io wrote:
True but expecting users to write software to fix problems is often a bridge too far IMHO.


Jeff Patterson
 

Done. Note that even in the s2, mute works when omnirig is enabled so it shouldn't be too hard. 

Also requested an option to mute when the detected signal level exceeds a user selectable value. Most SDR software I've tried has this feature and it's actually preferable to the TCP/Omnirig approach because it provides a faster shutoff with no audio leakage at the beginning. Of course the HW mute via the I/O connector is best of all and it's nice that the s2 offers this. 

Regards,
Jeff NG6X