PRO-CW The Professional CW Keyboard Software Copyright 1990, Andrew C. Manti Jr. Welcome to PRO-CW, the CW keyboard software for the casual ham as well as those who enjoy contesting. PRO-CW was written by a ham and incorporates the features most needed for a CW keyboard, both for casual CW work, and use in contests (specifically designed with the ARRL Sweepstakes in mind). Also included is the ability to decode morse from the receiver and display text on the screen. This program does, however require some minimal hardware to interface to your ham gear. Details of this interface are given later. The major features of the program are as follows: - Self calibrating to your system clock. (No need to set special speed constants) - Speeds from 5 to 60 wpm. - Unlimited ASCII message files each containing up to 9 different 80 character messages. - Auto incrementing serial number for contest work. (Also ability to repeat last serial number used.) - Optional input and output pin assignments for RS232C port. - Type ahead buffer. - Ability to prepare message while other station is transmitting. - Adjustable dot/dash weighting. - Automatically saves last used configuration including serial number count. - Received CW decoding. (Still in its early stages with this release but does work.) System requirements are an IBM PC or compatible with 384K of RAM, and an RS232C port. A description of the required computer to ham gear interfaces is given later. PRO-CW is offered as shareware. That is, software which you are free to copy, distribute, and try for a limited time. If you feel, the program is of real use to you then you are obligated to register your copy of the program. The program and this document are copyrighted and protected under US Copyright laws. In trying to determine an appropriate registration fee, the author came up with some mixed feelings. The author is a ham, and as a ham realizes the need for more and better software to be made available to the ham population at low cost. What with the cost of equipment today, not many people have $50-$100 to throw at every decent software package they see. This program did however take many hours to develop and prepare for use. With this in mind, and the fact that it is expected that future improvements and additions will be made, it was decided that the registration fee would be set at $15.00. For this registration fee, you will receive a direct mail copy of the next major update to the program when released. Naturally, the number of comments and suggestions received may determine the next release date. If you use PRO-CW and feel it is of real use to you, send your $15 registration fee (MA residents must add 5% tax) to: Andrew C. Manti Jr. W1VL 2 Deana Road Methuen, MA 01844 (Please send check or money order (no cash) payable to Andrew C. Manti Jr. A registration form is included at the end of this document. To run PRO-CW, merely copy the files PROCW.EXE, CALIB.MSG and CWXMIT.CNF to a floppy or your hard disk. As received, the program is set up to use the CTS pin (pin 5) for receive and the RTS pin (pin 4) for transmit over your RS232 line. It is set up to be used on COM1 only at this time. More on this later. To begin PRO-CW, at the DOS prompt type PROCW and . If you are running the program on a monochrome monitor or a laptop with an LCD display, start the program by typing PROCW M and then . The "M" on the command line will instruct the program to run in monochrome mode as opposed to color. When the program starts, an opening screen will appear while the program calibrates itself to your system clock. The program will automatically determine the clock speed and set up its parameters accordingly. This means no playing with speed constants or the like. The method used to calibrate is very accurate and test on six different types of computers showed variations of only one half word per minute. Once the calibration program completes, the main operating screen will appear. This screen is a split screen, the top of which is used for transmit data and the bottom for either received data or a buffer for the transmit option. At the bottom of the screen is a box which will show the present transmit speed and the next serial number to be used in the sequential serial number routine. Below the box, is the function key defintion for transmit (or receive), as well as a listing of keys for use as special symbols (BT, SK, etc). On the right hand side of this line is the work SPKR:. This is followed by either ON or OFF and gives the state of the PC speaker. If ON, everything you type will be echoed by the speaker as well as sent out the RS232 port. The key is the toggle for the speaker. The program initially begins with the speed set at 13 WPM and the speaker ON. Without using the RS232 port, the program can be used for code practice. To view a listing of function key assignments press . This may be done at anytime the program is in the transmit mode. A summary of these keys is as follows: F1 - Help F2 - Exit Program (Return to DOS) F3 - Toggle PC speaker ON and OFF F4 - Load ASCII message file F5 - Clear Receive/Buffer Area F6 - Set Speed F7 - Change Dot/Dash Weight Ratio F8 - Change RS232 Port Pin Assignments F9 - Enter Transmit Mode F10 - Enter Receive/Buffer Mode <1> - <9> - Transmit message 1 - 9 of ASCII message file - Save curent settings - Reset Serial Number Counter Most of these functions are self explanatory but will be covered briefly later. BASIC USAGE of PRO-CW ===================== Transmitting: Once you have connected the appropriate interface hardware to your computer, you are ready to begin. Transmitting CW is very straight forward. The program always begins in the Transmit (XMIT) mode. The cursor on the screen will be in the top or transmit window. To send morse, all you have to do is type what you wish to send and it is sent! Nice and easy! If you wish to change speeds, press the key. The cursor will move to the SPEED indicator at the bottom of the screen. Type in the new speed and press enter. The cursor will return to the transmit window and you are ready to continue. Should you prefer a different dot/dash weighting ratio than the standard 3:1, press . A window will open and allow you to change the ratio from 2 to 5. This means dashes will be from 2 to 5 times longer than dots. Remember, 3 is the normal weight ratio. ASCII Messages: PRO-CW allows you to use any number of predefined ASCII message files. Each of these files may contain from 1 to 9 different messages. The files may be created using any standard word processor capable of writing true ASCII files. Each file may contain up to 9 lines of 80 characters each. Each line is considered a separate message. For example, the author uses the following file for the ARRL Sweepstakes: NR # A W1VL 60 EMA = NR ! A W1VL 60 EMA = NR ! NR ! = A A = W1VL = 60 60 = EMA EMA = CQ SS DE W1VL SS K This is actually 8 separate messages which can be selected by typeing the key and the number key corresponding to the appropriate line or message. In other words, to send CQ SS, press <8>. The message will be transmitted immediately. Did you notice the couple of strange characters in the file listing? The # character tells the program to insert the next sequential serial number in the message at that point. Each time I send message 1 (<1>), it will send a different serial number. The other character to note is the !. The ! tells the program to repeat the LAST serial number that was sent. Message 2 allows me to repeat the entire exchange without increasing the serial number. The other message lines allow me to repeat any portion of the exchange without having to keep retyping. For a repeat of my section, just type <7>. The = is the character code for These codes will be covered next. The other special codes for use during transmit are as follows: = - ; ] [ @ These codes should cover just about any you may need. While transmitting, you may type ahead as far as you want. No problems have been found with using up buffer space. I imagine, if you send at 5 wpm and type at 60 wpm, you may run into a problem, but don't think that is likely. To correct while you are typing, just press the BACKSPACE key and continue. The program will automatically make the correction before the text is sent. The receive portion of the screen which will be covered next, has a second use and that is as a message preparation buffer for transmitting. If you are listening to another station and wish to begin preparing your transmission, press which will place you in the receive mode. The cursor will move to the bottom window. At this time you may begin typing your next transmission. The characters you type will appear in the bottom window. When you are ready to send the message, press which will return you to the transmit window and your prepared message will be sent immediately. This is a handy feature if you are as poor a typist as I am. Obviously once this message has been sent, it can only be repeated by retyping it as opposed to the message file options which will repeat every time you press the appropriate ALT key combination. Keep in mind that this option of using the receive window for a transmit buffer works whether or not you are actually receiving with the program. If you are, however, the information you type will overwrite anything being received. To clear the Receive or lower window, press . Receive Mode: The receive mode in this version does works well with machine sent or near perfect code. It runs about 92% accurate in these cases. With QRM, QRN and average or below average code, the accuracy drops quickly. At this time, the accuracy depends greatly on your receiver selectivity and actual operating conditions. The algorithm used is pretty reliable, but was included to give the program an extra feature more than to take the place of good solid paper and pencil or head copy. I find it very useful in copying W1AW bulletins and the like. The external hardware for the receive protion of the program is much more involved than the transmit hardware. Even then, the parts can be bought at most Radio Shack stores for under $10 excluding cabinet and power supply. You may want to experiment with other receiver to computer interfaces. I would be interested in hearing about any you may come up with. To get into the receive mode, press . This will move the cursor to the bottom window and any received code will be displayed. Note that each time you go into receive, it will take a few characters for the software to adjust itself to the received speed. There are no adjustments necessary. The software seems to adjust well from 5 to about 35 wpm. At slower speeds, (under 10-12 wpm) you may find that the characters that are displayed are always separated by a space. This is due to the timing loops in the program. It is also not unusual to have anywhere from a couple characters to a couple lines of characters be displayed in the presence of high noise levels or static crashes. It's tough explaining to a computer what QRM is! To exit from the receive mode press and you will be returned to the transmit mode. To exit the program press while in the transmit mode. All settings will be saved and you will be returned to the DOS prompt. RS232C Port Pin Selections: While in the transmit mode, you may press to select or change the input and output pin selections for the RS232 port. When selected, a window will appear on the screen listing the possible transmit and receive pin connections. Just enter the letter associated with your choice and the change will be made. The cursor will then wait for additional inputs. This allows you to change both transmit and receive at one time. To remove the window press "X". The various pin combinations are to allow you to use the program with various TNC's or other interface hardware which may require specific pin usage. On transmit, the output pin is driven high (plus 15V) at startup and goes low (-15V) as characters are sent. On receive, the input pin is normally low and looking for a high (+15V) when data is received. To interface to most transmitters, you may use the circuit by WA6LOD in the February 1990 QST pg 36. This circuit uses a single optoisolator (3 for $1.98 at Radio Shack). The configuration is as follows: RS232 Sig Gnd (pin 7)____________ | 4N28 , TIL111 etc. ____|_1__________________ | | | | --- ______|_5________ | \ / / | | ----- |/ | To | | ______| | Positive | | | |\ | Key Line 1 K | | | \______|_4________ RS232 ___/\/\/\______|/| _____|___| | | DTR | |\| 2 | | Optocoupler | To Xmtr (pin 4) | 1N914 | | | Gnd. | |_________|______________| | |6 ___|___ |NC _______ .01 uf | Comp ____| Gnd __|_ pin 1 / / / If you find you need an output which is the reverse of the above, low on positive inputs, just revers the 1N914 diode and the connections to pin 1 and 2 of the optocoupler. This circuit will handle any solid state rig and can be used to drive a reed relay for use with tube type rigs. Just tie the upper output pin from the opto to a 5V supply. Connect a 5V reed relay between the lower output pin and ground. Each time the computer keys, the relay will be activated. Connect the Normally Open contacts from the relay to your transmitter keying circuit. Receive Interface: 10 uf _______ _+_| |___ T 1 ( ___|AC__ T1 = 1000 to 8 ohm | | )| | ( | Bridge |________ + (A) spkr xformer )| | ( | Recifier________ 8 ohm side used ___| |__ )| | ( |________| - (B) as input. + | | (_______|AC 10 uf (A)____________ 4N28 , TIL111 etc. ____|_1__________________ | | | | --- ______|_5________ | \ / / | (C) | ----- |/ | | | ______| | | | | |\ | | | | \______|_4________ (B)_________|___| | | | 2 | | Optocoupler | __|_ + 12 V | | | / / / | |_________|______________| | |6 \ |NC / 2.2K ___________________________ \ | | / | ________________ | | | | | | (C)______|__________|__6_| |_2__| | | | | 100K | | |__/\/\/\_____7_| 555 |_3_________________ RS232 | | | Pin 5 \ | Timer | 1K / | | \ | |_4______ _______ RS232 / | | | | Pin 7 |____8_| |_1__ | | | |________________| | | _|_ | _|_ | /// | / // | |_____________________________| | | / 10K \ / \ | | +12V PRO-CW (Version 1.0) Please register me as a PRO-CW user. Enclosed is my check or money order for $15.00. I understand I will receive a copy of the next release of PRO-CW when available. Name: ________________________________ Call ______________ Address:__________________________________________________ City:_______________________________ State:_______ Zip:__________ Computer Type:________________________________ Ham Gear Used: ________________________________________________ =============================================================== Comments and Suggestions: Please mail with your $15 registration fee to: Andrew C. Manti Jr. W1VL 2 Deana Road Methuen MA 01844