WARNING! Some users noticed bad tone generation using the standard drivers of their soundcard. If you have the same problem, just install and use a ASIO driver for your soundcard. If you have a obsolete or non specific soundcard (like me) just download ASIO4ALL drivers. This is enought to solve any latency or bad tone generation issue.
This is a simple tool based on the "Morse Code Iambic and Semi-Automatic Keyer" from the Morse-Code-Tools projects.
You can use your key, bug or Iambic Paddle stright connected to your personal computer without a hardware morse keyer. I modified the code to send commands over the network to a remote actuator connected to the Key Line of your rig. The actuator can be a Arduino board (like in my previous project Remote Morse Key) or, if you already own a Raspberry PI 2/3, you can install a simple shell script (see below).
In addition, if you are a FlexRadio 6000 user, you can solve the issue of the Missing CW Tone when you use the radio in Remote Mode. (see the video below).
List of the simple hardware you need:
On the local side you have a pc connected to your rig (in my case it is SSDR and Flex 6300). Then connect your key/paddle to the serial port of your pc using a USB to RS232 adapter. You need a DB9 adapter for debouncing. See the pictures below.
Next start the program I modified that can read the signals from the com port and sends 0/1 commands via TCP protocol. The software, and its remote actuator, implements a Step Function. While it is a very simple solution it seems very reliable as well.
Before enable the program, configure the TCP channel and set the com port of your key. That's all.
Download - Just uncompress all the files in a directory and run the .exe program.
On the remote side I use a Raspberry PI2 connected to the same network of the FlexRig. A script, you can copy from this page, can be used to key the rig.
The script simply start a TCP socket on the RPI and key it upon receipt of the command. See the picture below.
In the picture below you can see my Pi RemoteQth server. It has enough resources to execute the script and activate the key line of the Flex 6300 rig. You can do the same with your own RPI2/3.
SCRITP FOR RASPBERRY PI (JESSIE)
#be sure you have already installed nmap on your PI
echo "Start listening on port $PORT ..."
while read line
#echo $line | od -An -t uC
#echo $cmd | od -An -t uC
case "$cmd" in
0) #echo "000"
gpio write $CW_PIN 0
1) #echo "111"
gpio write $CW_PIN 1
3) echo "Going to stop listener ..."
*) #echo "unknown cmd"
done < <((echo "Welcome. Please give me one of the following commands: 0 | 1 | 3") | ncat -k -l $PORT)
echo "... listener stopped."