-
Notifications
You must be signed in to change notification settings - Fork 0
w5xd/WriteLogRunMode
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Two Radio Run Mode processor for WriteLog.
Version 2.0.13.0
September, 2025
This is a Two Radio run mode keyboard shortcut extension for WriteLog.
This extension has been successfully used to sustain very high rates.
Use it at your own risk.
Why would I want this?
If ALL Four of these are true:
You run two radios on one PC, and with two Entry windows.
You run headphones with automated switching between the two radios.
You want to reduce the number of keystrokes switching between the radios.
You are willing to use a keystroke to designate one or both radios as RUN mode (i.e. calling CQ)
Then you MIGHT want to use this add-in.
This add-on takes these actions:
a) starts a CQ when it determines a CQ "radio is idle"
b) switches the headphones/keyboard focus to the "correct" radio.
The reason MIGHT is capitalized is that your definitions of "radio is idle"
and "correct" might not match what the run processor thinks.
The only reasonable way to know the answers is for you to try it.
********************************
To install:
As of 2.0.8.0, WriteLogRunMode requires WriteLog version 12.44 or later.
Unzip the distribution zip file somewhere--a temporary location will do.
Double click install.bat
Did it install? Run WriteLog and look at your Setup/Keyboard Shortcuts/Command to Run.
Does it have External: start2RadioRunMode and the other External?
Note that the installer does not check its own version number. It
replaces any existing WriteLogRunMode installation.
And note that Writelog can only have one shortcut processor installed at
a time, so any existing one is disabled when you install this one.
Double click Uninstall to remove it.
********************************
One-time setup considerations.
Message buffers.
The run mode processor ASSUMES that you have set up the following message buffers
in Setup-CW/RTTY/SSB messages:
Message11--is a CQ -> it sends this message when a CQ rig is otherwise idle
MessageShift11--CQ specific to 2nd radio
Message10--sends HIS call then exchange
Message02--sends the exchange (bug: WriteLog versions prior to 12.10 don't work with runmode and Message02)
Message03--sends QSL QRZ? -> it sends this when you log a QSO on a CQ rig.
MessageShift03--QSL QRZ? specific to 2nd radio
Message04--sends MY call
Message05--send HIS call
Message06--sends AGN?
The MessageShift11 and MessageShift03 are only used if the corresponding check
box is turned on in the
Keyboard shortcuts.
The keyboard processor makes the following shortcuts available to be mapped
to the keyboard:
External:Setup--brings up a configuration dialog.
The run mode processor will insert Message04 immediately after Message03
if your CALL has not been sent more recently than "maximum seconds between
CALL". Set this negative to never insert Message04.
The button "on first CALL letter, holdTransmitVOX" turns ON this feature.
When, while run mode is active (after startNRadioRunMode) you type the first
letter into CALL, the holdTransmitVOX state is activated.
Shift F1 ... on 2nd radio and Shift F3 ... on 2nd radio checkboxes
It causes 2RadioRunMode to use the shift f-key memories for the corresponding
transmissions (only for 2RadioRunMode), and only on the 2nd radio.
The 2nd radio is defined to be the one on the lower of the two Entry Windows
on screen involved in dual run. Without the check boxes, the same memory is
used on both radios.
DO NOT turn these SHIFT F1/F2 checkboxes with WriteLog versions less than 12.91.
External:start2RadioRunMode--starts 2-radio CQ.
Sends Message11 and then Message11 repeats and alternates on both radios
External:start1RadioRunMode--starts 1-radio CQ.
Sends Message11 and then Message11 repeats on that radio. The other
radio is assumed to be search and pounce.
External:startDuelingCQtop
External:startDuelingCQbottom --starts simplified dueling CQ with first CQ on top Entry
(or bottom). Sends Message11 first on that radio, puts keyboard focus (and
headphones if not headphones split) on the listening radio. Type anything
into either Entry Window and dueling stops with the keyboard (and headphones)
set to that Entry.
External:stop2RadioRunMode--recommend you replace the mapping you have MessageAbortTransmission.
Stops transmission in progress as well as stopping the auto-CQ.
External::EntryClear--recommend you replace the mapping you have EntryClear.
Duplicates the WriteLog built-in EntryClear and also marks the CQ window as idle.
External:holdTransmitOn--indicate start of transmission that WriteLog is not automating.
Asserts PTT and holds all other transmissions until another Message or abort.
Useful for initiating talking into the transmit microphone or hand-sent CW.
Invoking this without other intervening state changes instead does endHoldTransmitOn.
External:holdTransmitVOX--same as holdTransmitOn, except does not assert PTT.
External:endHoldTransmitOn--to indicate end of holdTransmitOn. Releases PTT and
tells run mode processor you are listening.
You are not required to map all the above to keys, although you had better
map stop2RadioRunMode if you map either of the two "start" actions. The holdTransmitOn is
also a matter of preference. You can do without it if all your transmissions are
done from MessageNN shortcuts, or if you can develop the habit of only speaking (SSB)
or sending hand-sent CW when the run mode processor is not going to switch the
transmit focus on you. The endHoldTransmitOn turns out to be unnecessary if you
only use holdTransmitOn to speak the beginning of a message (e.g. the calling
station's CALL) and then always follow immediately by pressing an f-key to complete
the transmission.
Default shortcuts you likely need to change.
The shortcut External:stop2RadioRunMode is mentioned above. You should use it
instead of the built-in MessageAbortTransmission.
Question: I normally map F1 to Message11. What should I do?
It depends on your preference. Here is a recommendation:
Leave F1 mapped to Message11.
Map CTRL+F1 to start2RadioRunMode.
Map ALT+F1 to start1RadioRunMode.
The notion is that initiating the mode is relatively rare. You'll not be pressing
F1 much anymore, but you still can, and the run mode processor accommodates.
keyboard UP/DOWN:
The default settings in WriteLog for UP/DOWN are probably not what you want for
use with this run processor. They move the transmit focus along with the keyboard
and phones. With the run processor deciding what to transmit next, you will want the
default UP/DOWN to move only the keyboard focus so that correcting entries in
the Entry window is easy.
Recommendation. Use Setup/Keyboard shortcuts in WriteLog remap your UP/DOWN keys:
EntryKbdFocusUpWithPhones
EntryKbdFocusDownWithPhones
********************************
Getting started using it.
Invoke your start2RadioRunMode keyboard shortcut to call CQ on two radios.
Or
Invoke your start1RadioRunMode shortcut to call CQ on only the current radio.
If you have taken my recommendation above, its CTRL+F1 or SHIFT+F1.
When you hear a response, type it in. The keyboard focus should already
be in the right place. When you want to transmit anything other than a
CQ, then use the appropriate f-key to do so. If the keyboard is on the
wrong radio, you may use UP/DOWN to move it.
When you press ENTER to log a QSO on a CQ radio, the run processor
sends Message03 (QSL+QRZ). Exception: if you hold down SHIFT as you
log the QSO, the sent message is omitted and nothing more happens
on the radio until you send a MessageNN.
The idea is that you type in what you hear, and you press the f-key's
as you would without this automation, with the exception that you don't
normally press the CQ key. You are free to press the CQ key if want and
the run mode processor changes its behavior to match yours.
If you want to transmit using VOX or hand sent CW, use the key mapped
to holdTransmitOn. End the hold by pressing any message key, or
the External:endHoldTransmitOn key.
If you need everything to stop, use stop2RadioRunMode which most ops would
map to the ESCAPE key. (This shortcut stops the 1 radio version as well.)
********************************
WriteLog supports the concept of an atomic section of recorded message in CW,
and, in SSB, the concept of an uninterruptible recorded message. In both cases,
you use a %A in WriteLog's f-key memory setup to designate a section of the
CW message that the run mode processor may not interrupt, or, in SSB, that
an entire message may not be interrupted.
This feature is important, for example, in CW, so that "CQ 8P5A" does not become
"CQ 8P5E". Program the message as "CQ%A 8P5A%a". In SSB you might have a very
short CQ message that, when you use it, you want it not to be clipped. Maybe
it says CQ 8P5A in MSG11.wav. Program WriteLog's f-key memory as "%AMSG11.wav".
********************************
Where are the settings stored? I can't find them in writelog.ini.
They are not in writelog.ini. The WriteLogRunMode uses Microsoft's .NET
technology to store its settings, and that framework places its settings
here by default on Windows 7:
C:\Users\<YourUserName>\AppData\Local\WriteLog_Contesting_Softw
********************************
Some details about what the run mode processor does.
The only message it sends is CQ, and then only when nothing else is going on.
WriteLog has three "focus" settings the run mode processor can alter.
Transmit focus (indicated on-screen by the green circle).
Keyboard focus (indicated on-screen by the lighter background color)
Headphone focus (which radio has them--not indicated on screen)
The run mode processor does not touch the headphone focus if you have
the headphones on split. When you change them to one radio or the other,
then it will take over and put them on the other radio when one goes
to transmit. Note that you can have two receiving radios. If the headphones
are not split, the run mode processor generally keeps the headphones on
the radio with the keyboard focus.
The run mode processor is aware of whether you have entered anything in the
CALL field, and whether you have moved your input cursor away from the CALL
field and changes its behavior accordingly.
It keeps the keyboard focus on the radio you are listening to, and switches the
focus to the other radio on any f-key transmission. But it knows about the "red box"
around the CALL field and delays switching the keyboard focus until you finish the
red box.
********************************
The WriteLogRunMode directory is the source. Use Visual Studio 2019,
If you like, build yourself a new WriteLogRunMode.dll.
Copy it to WriteLog's Programs directory. (or copy it here and run Install.bat)
Good luck.
Wayne, W5XD
********************************
version 2.0.13.0 September, 2025
Add ability to specify a per-radio Fkey message for CQ and/or QRZ
********************************
version 2.0.12.0 September, 2024
When starting the TU/QSL/QRZ message, if a CQ is in progress, abort the CQ
rather than tack the QSL message at its end.
********************************
version 2.0.10.0 April, 2024
Only query whether WriteLog's CW transmission is in progress when operating CW
********************************
version 2.0.9.0
Fix crash on exit...that only really fixes the crash on WriteLog 12.45 and later
********************************
version 2.0.8.0
REQUIRES WriteLog 12.44 or later, else will crash!
Supports "Atomic" messages inside a CQ. They are marking in WriteLog Setup/CW messages with %A.
If you have a writelog.ini setting [winkey] PollTimerMsec, you should either remove it
with this version, or set it to 20 or lower.
********************************
version 2.0.7.0 June, 2017
Changed S&P window's keyboard focus handling.
********************************
version 2.0.6.0 November, 2016
Fix CQ mode, TU message delay to start 5 second time on end of TU message rather than begin
For start1RadioRunMode, add ability to separate headphone focus from keyboard focus.
version 2.0.5.0
A couple of fixes to the start1RadioRunMode. Honor the EnableRedBox setting,
and don't snatch keyboard focus away from S&P radio if its CALL not empty.
version 2.0.4.0
Blanking out an Entry Window without using External: EntryClear holds off the CQ
timer for a maximum of 5 seconds and then resumes CQing as if EntryClear had been invoked.
version 2.0.3.0
add setting for Enable Red Box
version 2.0.2.0
add setting for Stop aligns xmit&keyboard focus
version 2.0.1.0
add startDuelingCQtop&bottom
version 1.0.2.2
add holdTransmitVOX
version 1.0.0.9
Work better in SSB mode
version 1.0.0.5
Turns AutoCQ off on start1RadioRunMode or start2RadioRunMode
removed EntryClear shortcut and replaced it without need for user config
version 1.0.0.4
Add holdTransmitOn for non-automated transmission
version 1.0.0.3
update documentation and
changed "WipeQSO" to "EntryClear"
version 1.0.0.2
Add 1 radio mode.
CHANGED F-KEY MAPPING
version 1.0.0.1
Refactor sources.
About
Writelog keyboard shortcut processor for SO2R operation
Topics
Resources
Stars
Watchers
Forks
Packages 0
No packages published