CwGet and CwType
Keyboard CW
by Ernie Mills, WM2U.
Please print this article and use it as a hand out at Club talks and lectures

Sergei Podstrigailo, UA9OSV http://www.dxsoft.com, the writer of TrueTTY has produced a fine complementary pair of programs for keyboarding CW. These are actually two separate programs: CwGet, which is used for receiving Morse code, and CwType for sending code via the keyboard. These programs are written in windows, can be opened together on the main screen, and the layout is easy to understand and easy to operate. As well as the familiar type-ahead buffers, Sergei has included a Spectrum Display window which is used to tune the CW stations into the filter bandpass which you set in the software. The spectrum display is about 2,500Hz wide and since the software uses the Computer soundcard, the bandwidth of the receiver is not important. The filter algorithm used by Sergei is excellent and self centers automatically on the frequency of the incoming signal. The screen shot below shows both the CwGet and CwType main screens arranged together.

Screen shot of both main windows

CwGet

The latest release of CwGet is available on Segei's site, and while there check out his many other great software packages.  Simply download the file and unzip it. It will install in the c:\program files folder and will also put a TrueTTY icon on your desktop.
CwGet uses the computer sound card and only requires connecting the radio external speaker jack into the sound card. No other interface is required. The sound card should be at least 16 bit. The recording level is varied by adjusting the Volume Control on the computer. Make sure that the input signal does not overload the sound card input as this will certainly degrade the operation. Sound card interfacing has been discussed at great length on this web site. For isolating the radio and computer or making the interface compatible with the various sound card modes now available please check out the Hook-up page.
The main screen is divided into 3 window, the sizes of which can be adjusted by dragging the borders. The top window displays the current spectrum of the signal shown in blue, and the spectral components shown in green. The vertical red line shows the center frequency of the filter. To change the center frequency, simply click on the frequency axis, drag the red line or click the spectrum peak you want to receive.
The AFC button, Auto Frequency Control, works in conjunction with the small number box to the left of the AFC control. This acts as the AFC bandpass, and each step is approximately 5Hz.
The GotoMax button forces the red line,(working frequency) to jump to the closest peak displayed on the Spectrum Display. The AutoGTM button switches on the automatic mode of GotoMax. This will make GotoMax jump to the strongest peak displayed after detecting a pause of more than eight 'dots' in the current signal.
The OnTop button forces CwGet in front of all windows.
The bottom window is an oscillogram of the signal. A red horizontal line shows the threshold level which can be adjusted by dragging with the mouse or by selecting Auto Threshold.
The receive symbols are displayed in the center window. Periodically a dash-dot sequence in curly brackets will be observed. This means that the decoded signal is unidentified. The background color, font color and face can be user adjusted by changing the values of Rx Window Background Setup or Rx Windows Font Setup found in the Setup menu. Since the window has scroll bars, no text is lost.
The number shown in the FrB field on the status bar shows the number of free buffers available for recording. If it is reduced to ten or less the speed of the computer will not keep up. Try reducing the number of simultaneously running programs or replace the computer :-)

CwType

The latest release of CwType is available on Segei's site, and while there check out his many other great software packages.  Simply download the file and unzip it. It will install in the c:\program files folder and will also put a CwType icon on your desktop.
Now, CwType does not use the soundcard. A very simple circuit that uses the Com Port DTR line is shown below. Also shown is a circuit for using the  RTS  line if you prefer, but convention normally uses the DTR for sending CW and the RTS for switching the PTT.  There is more Radio to Computer interfacing help on the Hook-up page. Try this if you need more information.
Now! for you Collins owners, Joe, w0tut has kindly submitted the following  schematic drawing and design comments. Thanks Joe for your valuable input.
At this point I think you should print off the different sections of both the CwGet and CwType help files. These are located on the top Menu Bar on each of the front windows. There is not a lot of printing and the information is valuable. It would be worth keeping them in a hard copy file. Please take the time now to read through both these documents thoroughly. You will find configuration file instructions in detail and what to modify to achieve the required results. The actual configuration file, CWTYPE.ini is found in  the same directory as the CwType.exe file, and must be edited to conform to your system and personal needs. As an example, if you want to set the Active Com Port for the Keyer: open CWTYPE.ini with your favorite editor and change the instruction "KeyPortNumber" to the com port you require. It is that simple. However, click on this Configuration Pop-up. to give you a somewhat better understanding of logic behind the Com Port configuration.
Oh! before we start a little word on the component abbreviation used on these diagrams. Since the decimal point was not showing up too well in cases like 4.7k ohm I adopted the European system which uses the 'k' as the decimal point. So the 4.7k ohm now will be marked as 4k7 ohm.
Now the schematics shown below might need some explanation. There are two circuits shown. One, which uses the RST line of the active com. port to send Morse Code, and the other using the DTR line. Select either one, but not both unless you plan to use this interface for other sound card modes as well as CW.  Now make sure that you tell the CwType.ini file what you are using here. For example, my interface will use the  DTR control circuits, and I  will NOT be using the MOX (VOX) option. So I need to activate the DTR line. To achieve this, I set the KeyOffTxOffByte=00, KeyOnTxOffByte=00, KeyOffTxOnByte=00 and KeyOnTxOnByte=02. If I decided to send code via the RTS line I would change the instruction KeyOnTxOnByte to 03


Simple interface for CwType

Alternately, a parallel port, (LPT) can be used to operate the PTT and Key lines. If you fit a joystick to this port you will be able to use the Iambic keying feature.

Parallel Port Connections
LPT at 378h LPT at 278h LPT at 380h
KeyPortType=3
KeyPortNumber=1
KeyOffTxOffByte=C0
KeyOnTxOffByte=C1
KeyOffTxOnByte=C2
KeyOnTxOnByte=C3
DotPort=379
DotXorMask=30
DotAndMask=20
DashPort=379
DashXorMask=30
DashAndMask=10
KeyPortType=3
KeyPortNumber=2
KeyOffTxOffByte=C0
KeyOnTxOffByte=C1
KeyOffTxOnByte=C2
KeyOnTxOnByte=C3
DotPort=279
DotXorMask=30
DotAndMask=20
DashPort=279
DashXorMask=30
DashAndMask=10
KeyPortType=3
KeyPortNumber=3
KeyOffTxOffByte=C0
KeyOnTxOffByte=C1
KeyOffTxOnByte=C2
KeyOnTxOnByte=C3
DotPort=3BD
DotXorMask=30
DotAndMask=20
DashPort=3BD
DashXorMask=30
DashAndMask=10

If you prefer to use the sound card game port with a paddle, change the cwtype.ini file to the following;

DotPort=201
DotXorMask=FF
DotAndMask=10
DashPort=201
DashXorMask=FF
DashAndMask=20

The 'dots' paddle is considered pressed, if the expression (inp(DotPort) ^DotXorMask) & DotAndMask
is not equal to zero.
Similarly the 'dash' paddle is considered pressed, if the expression (inp(DashPort) ^ DashXorMask) & DashAndMask
is not equal to zero.
The above given example corresponds to the paddle with normal open contacts connected to the joystick connector
( 'dot' - pin2 of plug, 'dash' - pin 7, 'common' - pin 5). If the paddle is not used then DotPort=0 and DashPort=0.

From the CwType main screen shown above, the bottom window is the input window where you can queue your response while watching the decoded Morse code printed on the CwGet screen. The top window will display the outgoing code during transmission. The Speed box allows you to select the code speed but notice that this is calibrated in characters/minute, however, Sergei does offer us a conversion to wpm at the bottom of the screen. ILS stands for inter-letter space and is defined by the dash/dot value. The D/D button lets you change the Dot/Dash Ratio. The button marked Iamb, well,  if you use the paddle, (parallel interface option) you can use it in classic or iambic mode. Note: The parameter 'IsYamb' in the config file is set automatically by this Iamb button. The manual Tx button is also on this tool bar.
There are 12 buffers marked F1 through F12 which can hold prewritten macros. You can also use the Esc key, Ctrl-F1 through Ctrl-F12 and Alt-F1 through Alt-F12 combinations, and you have control of how many rows of Macro buttons you display, on screen, simultaneously. The C (callsign), R (rst), N (name) and O (other) buffers allow you to enter the respective information into the boxes on the fly. These will then be used by your macros to embed that information into the transmit buffer text.

The Macro Edit Screen

The following table shows some of the macrosequencies that can be used in your function key buffers.
  • ~[mNN] or `[mNN] - To embed keyboard function sequence into buffer.
  • ~[fFilename] or `[fFilename] - To insert contents of file filename.
  • ~[iField] or `[iField] - To insert value of a field Field.
  • ~[ec] or `[ec] - To insert value of the Call edit field.
  • ~[er] or `[er] - To insert value of the RST.
  • ~[en] or `[en] - To insert value of the Name edit field.
  • ~[eo] or `[eo] - To insert value of the Other edit field.
  • ~[cl] - To clear the input window.
  • ~[tx] - To switch Tx on and to switch pause off.
  • ~[rx] or } - To switch Tx off.
  • `[pa] - To switch pause on.
  • To insert Prosign BT use '='
  • To insert Prosign AR use '+'
  • To insert Prosign KN use '('
  • To insert Prosign BK use '&'
  • To insert Prosign SK use '$'

    Note 1:
    To convert values of RST to numeric equivalent use
    ~[esr], ~[esc], ~[esn] and ~[eso]
    Note 2:
    If you preface the macrosequence characters
    with "~[", they are expanded at once.
    Starting with "'[" and they expand directly ahead of transmission.
    Note 3:
    Don't forget, you can nest macrosequences.

Well that is all very nice but suppose you want to add a prosign to the table such as errr..
 SN (prosign for understood).
Look in the CwType directory and open the file called SAMPLE.CWT. I used Microsoft word although if you click on the .CWT file it may come back and tell you it does not know how to handle .CWT files. In this case open uSoft Word and OPEN the file from there.
You will now see all the character set including all the included prosigns. There are some there that I do not show in the above table. :)
Anyway at the bottom of the list or indeed anywhere in the list add this line;    "] ...-. SN"     (do not include the quotes)
Click Save.
Now fire up CwType and click on Setup>User Defined Charset menu item.
Select SAMPLE.CWT and click OK (or enter)
Click on Setup>Save Setup

You can now use right square bracket (]) for SN prosign :)

This section will deal with Q&A's I receive. Most are answered by Sergei.

1)    Question:  I must be sorely confused. I use N1MM logging software and LPT1 works fine for sending keyboard CW and my "F" key macros.  Why can't I do the same with CW Type?  I have selected LPT1 in the interface but nothing happens.  Do I really need to build an "interface" when I have an active parallel port connected to my Orion II and it works just fine with N1MM?
 Help would be appreciated.  I already have and use CWGet.  O in MD
        Answer:    Just select "LPT port (N6TR or W1GEE interface)". Best regards, Sergei                  

Ok, lets wrap it up!

Don't forget that the CwGet software uses the computer sound card instead of a TNC and CwType a simple transistor circuit to key the radio. To achieve this you will need to interface the Radio to the Computer. This is quite easy. On the CwGet and CwType help files you will find the relevant schematics. Alternately I have schematics showing numerous interfacing and PTT switching options with a detailed discussion on the setup. These can be found on my Interfacing web page.
This is a quote from Sergei in response to some queries we get when CWType does not work with the new Rigs, "Please understand, that CwType does NOT use CAT interface, it uses the special schematic to manipulate PTT and KEY-IN"
Now, to get you up and running and on the air fast, I recommend the following:

  • Download and unzip the files cwget150.zip and cwtyp150.zip.
  • Interface your Radio to the Computer. See above for the details.
  • Click on the CwGet and CwType icons on the desktop and adjust the 'main screen' to the size you want.
  • Go into the CWTYPE.ini file with your favorite editor and make sure that your active com port is selected by the Instruction, KeyPortNumber, and the KeyPortType=2.
  • In the CwType program you should now write your Buffers in the drop down menu "Edit Macros" in the "Setup" menu. This will make it easier in a rag chew to queue some common exchanges such as CQ, your name, QTH and the shack information.
  • Switch on the rig and look for a CW signal. You should see one or two signals on the CwGet Spectrum Display. Tune your rig and move the peak towards the Red line. If you have the AFC enabled you will observe the peak jumping towards the Red line, and locking on. At this time there should be print on the Screen. The bottom task bar will show the filter, frequency, and speed information of the incoming signal. If the signal is a CQ, throw your call out a few times by either typing directly into the Input window then clicking Tx or click F1 and send out your prewritten CQ macro. Either way your rig will fire up and you will be ON THE AIR!

This is really nice software and is easy to learn and operate. It has many other features not mentioned here so I recommend reading all the help files before using it. One of these features is it's ability to transfer data directly into the AAlog logger program. Sergei is very willing to cooperate with any logging program writer to ensure that the programs work together. e-mail him at: UA9OSV.
Please note that this software is shareware and I recommend reading the licensing part of the Help files. CwType is free with no limitations however CwGet is Shareware. It is very enjoyable and works great as it is but the Configuration Save feature is disabled until registration. This of course can get quite frustrating as you need to re-config every time you boot up the program but for a small registration fee, these frustrations will disappear :) Well worth it since all upgrades are FREE. I get a lot of queries on 'how and where' to register this product. The main site with all the info is DxSoft. There are two registration sites in the USA RegSoft and RegNow, and ShareIt in Germany There are also two mirror site for DxSoft, these can be seen at Hypermart and Tripod
Well! I hope the above helps in your understanding of CwGet and CwType and that you have many hours of enjoyment with it. If there are any questions please contact Sergei
73 and enjoy Ernie (WM2U)