DigiRite is a radio contesting accessory for FT8 and FT4 messaging. It optionally integrates with WriteLog, but also can run stand alone. It is published open source. Other contest logging program authors are free to use DigiRite's sources to build their own integrated FT8/FT4 solution under the terms of the GPL.
DigiRite is Copyright (c) 2019 by WriteLog Contesting Software, LLC
DigiRite may be copied per the restrictions of the GPL in the file COPYING. The source code to this program may be found at http://github.com/w5xd/Digi-Rite.
The algorithms, source code, look-and-feel of WSJT-X and related programs, and protocol specifications for the modes FSK441, FT8, JT4, JT6M JT9, JT65, JTMS, QRA64, ISCAT, MSK144 are Copyright (C) 2001-2018 by one or more of the following authors: Joseph Taylor, K1JT; Bill Somerville, G4WJS; Steven Franke, K9AN; Nico Palermo, IV3NWV; Grea Bream, KI7MT; Michael Black, W9MDB; Edson Pereira, PY2SDR; Philip Karn, KA9Q; and other members of the WSJT Development Group.
To use DigiRite with WriteLog, you'll need WriteLog version 12.38 or later. In WriteLog, start with a right mouse click in its Entry Window. Once you have DigiRite installed, you will find the menu entry DigiRite View...
Before you invoke DigiRite, use WriteLog's File/Save menu to start the log file. Why?
Without WriteLog installed, the only way to bring up DigiRite is from the Windows Program Start menu, the DigiRite group. DigiRite will make QSOs, but it maintains no logbook of QSOs, nor will it control your rig VFOs or PTT.
Be sure to uncheck all of WriteLog Sound Board Mixer control's Exclusive check boxes on the sound devices you want to run with DigiRite (or turn off WriteLog's Echo Mic selection).
DigiRite gets your CALL from Writelog. It usually figures out the CALL you want, but if its not right, do a Cabrillo Export in WriteLog to choose the CALL you are operating now and DigiRite will see that one.
The Exchange must be one of those supported by FT8 (details below.) Currently that list is:
FT8/FT4 allow three acknowledgement messages. DigiRite treats them all as equivalent when it receives them. Choose the one you want DigiRite to send. RRR, 73 or RR73.
The Mouse button to answer CQ on his frequency means that, in DigiRite's CQ panels, if you left click to answer a CQ, DigiRite transmits on the frequency it received the CQ rather than its own TX setting. The Left/Right mouse click behavior in the CQ panes is reversed by setting this to Right.
For FT8/FT4 operation outside of contests but with WriteLog, the "World Wide Digi Contest" module works well. If you also want WARC band checking, then see below.
Rigs that are fully digital likely won't benefit from splitting the VFO.
There are situations involving DigiRite's multi-streaming option such that the range of TX frequencies exceeds the range of your entry here. In that case, DigiRite turns off the VFO split and feeds the audio tones into the rig at frequencies matching those it received.
Witht WriteLog unlimited installed, a waterfall is displayed. Your selected transmit audio frequency is displayed at the top with the red rectangle, and the decoder's primary receive frequency with a green rectangle. Click in the window where highlighted in the screen below to change either your RX or TX frequency. The mouse click has the same effect as using the up/down numeric entries on the Main Screen (below.)
WriteLog's unlimited version:
Once you have the decoder working and see decoded messages in the Receive screen, making QSOs is a process of putting your attention on the Main Screen starting at the left and working to the right.
Decoded messages of interest for contesting are in the Main Screen's leftmost column. They stay there through the FT8 cycle they are decoded, the following cycle, and just a few seconds into one more cycle. Then they are replaced by messages decoded on the new cycle.DigiRite keeps a hidden one-hour memory of logged and inactive QSOs for the purpose of resending the final QSL message if you subsequently receive an exchange from that same station on the same band. This special situation only happens when that station failed to copy that final QSL message when you first sent it and logged the QSO. That station's entry reappears in QSO(s) in Progress, even though it has "L" indicating it is already logged, and DigiRite automatically resends the final QSL.
The right most column is less used. You may manually type in a message to send (subject to 77 bit packing constraints), you may select an out-of-order message among the Alternative messages for a given QSO, and at the bottom right, is the button for calling CQ.
DigiRite does the most automation with that center check box, Automatically transmit next" turned on, and, if you're new to this, that is the recommended place to start (of course assuming you have already correctly filled in the Setup screen above.) Turn that check box on and DigiRite will automatically choose which, of the limited selection of FT8 messages available, it should send on each cycle.
To answer a received CQ, click on one in the left-most panes.
All of those panes, i.e. both the CQ panes and the Messages to me pane, are sorted. The primary sort index is non-dupes sort before all dupes, and secondary index is the order the decoder presented the message, but the sorting has a twist in order to minimize the chance that a target of a mouse click moves because of a new decode message. Non-dupes are presented starting at the top left, and in the order they are decoded. Dupes are presented in reverse order, starting at the right and bottom of the panel and working back towards the beginning. The special case where there are more decodes than will fit has one possible exception to the rule that a click target won't move:
Only CQs is a three-state check box. With its check box checked on, only CQs and not QSO-ending messages are displayed. This is useful for the 2019 WW Digi contest where you need the other station's grid before responding to them. With the check box off, all such messages are displayed. The intermediate setting, signified by a gray box, displays the non-CQ QSO-ending messages, but in a disabled state that you cannot click to initiate a QSO.
The Calculated next to send pane gets populated with the messages from the QSO(s) in Progress. Incoming messages tend to decode well before the end of the cycle, and those trigger entries here as they arrive. But failure to hear a message from a QSO in Progress is only calculated at the very beginning of the transmit cycle. At that same time—the beginning of the transmit cycle—any message in this panel selected to be sent this cycle is removed. Any that cannot be sent (most likely because there are more QSO(s) in Progress than you have Streams selected) remain in this panel so you can see what would have been sent if it had more streams.
The volume of DigiRite's output to your transmitter is controlled by the slider at the lower right. Avoid overdriving your rig's TX input by reducing the slider until the power output drops. The Tune button produces about 3 seconds of 1000Hz audio.
In the QSO(s) in Progress panel, the two numbers following the CALL are the RX frequency for her message, and the TX frequency we are using to call her. The TX frequency is blank until we initiate our first message to her (except when we are using her RX frequency.) The values of these frequency numbers are the audio frequencies as detected in your receiver audio. If you have turned on DigiRite's ability to split your transmit VFO, the frequency numbers will not match what you might hear in your TX audio monitor during an FT8 transmission.
The gray background on a QSO indicates a QSO in progress, but on the oppoisite odd/even TX cycle from what is selected at the lower right. We can't transmit to that station until the cycle is reversed. DigiRite will automatically reverse the cycle if it completes a transmit cycle with nothing to send and you have a QSO in progress on the other cycle (i.e. a gray one).
When run with WriteLog, DigiRite sends PTT commands to WriteLog, which will forward them however you have WriteLog set up to do PTT.
And DigiRite also looks up the corresponding RttyRite PTT settings for its connection to WriteLog. If RttyRite was configured for PTT on a Serial port, DigiRite controls the RTS line on that same Serial port. When it does Serial port PTT, it puts the ptt on COMn message at the lower right so you can see it is doing ptt.Without WriteLog, you must use some other way to key your rig. VOX works for many rigs.
The button in the very middle, Automatically transmit next is critical to the flow. Turn it off and DigiRite sends no message without you manually clicking its check box in the center Calculated next to send. Click Automatically transmit next to on and DigiRite, at the beginning of a 15 second FT8 cycle, will transmit the highest priority message (or messages, see multiple streams below) for that cycle.
The check boxes in the Messages to me and the CQs heard windows are also critical. Click on a check box in either of those lists to initiate a QSO with that station. For answers to CQs, the Auto respond to non-dupe check box means DigiRite will respond to any and all callers, in the order they are decoded. If you are rare DX, you likely want this box left off so you may choose among multiple answers to your CQ. See the 5V7EI simulated screen shot above.
You probably want to start by turning the aforementioned Automatically transmit next button on. Next you may either turn the Call CQ button on or instead click on a received CQ message in the lower left. Your interaction with DigiRite is much the same both ways. Either of the lists in the left-most column can initiate a QSO.
Initiating a QSO causes it to appear in the QSO(s) in Progress box. DigiRite priorities the QSOs from top to bottom in the QSO(s) in Progress window. A QSO will stay in the pane until you remove it (right mouse button.) Once the QSO is logged, it will not do much, but it remains in place so that any extra messages that appear from the QSOd station after we log it can be associated back with that same QSO. If you want to start over with a station (i.e. go back through the exchange sequencing and log them again) you right mouse, remove this QSO.
As each cycle begins (15 seconds for FT8, 7.5 for FT4), DigiRite decides what it wants to send. It lists the candidate messages in the center pane, "Calculated to send next." These are not listed in any particular order. The priority is set by the order above in "QSO(s) in Progress." Each message has a check box which enables sending it. Turn off the check box and it won't be sent.
On a transmit cycle where nothing has already been selected to be transmitted, you may click on a message in the left-most panes late--up to 6 seconds after the cycle begins.
The Conversation chronology is a chronological listing of all the messages sent and received that are related to the QSOs in progress.
The 77-bit message packing format used by FT8 currently has definitions for only certain messages which means that only certain contests can be operated using FT8. DigiRite must be configured in its Setup screen to select one of those. The exchange messages in the 77bit packing are:
With Grid Square & dB Report DigiRite uses a different sequencing method that handles a QSO possibly including two different messsages, both a grid square and a dB report, in that order. This sequencing is typical of casual not-in-a-contest QSOs.
For RTTY Round up and ARRL Field Day, DigiRite gets its exchange message by looking into WriteLog's Document settings/RTTY messages. It looks at the top entry on that WriteLog dialog. It inspects that top message to figure out what your transmitted exchange is: state/province/serial number for Round UP, or Field Day class and ARRL section for Field Day.
DigiRite expects you to set its Exchange setting in it's Setup menu to make sense for the contest you have selected in WriteLog. The contest selection is not integrated between the two programs; DigiRite and WriteLog will not give error messages if you have them set to cross purposes. Instead, DigiRite sends/receives what you have set here and logs what it can into WriteLog. DigiRite's auto-sequencing, for the first four selections above, only supports a contest-style fixed exchange. Once you have sent and received one exchange, it thinks you are finished and ready for the next QSO. To repeat, if you instead want to exchange both a grid square and a dB signal report in both directions, use that last Exchange selection.
To support a VHF rover changing grid squares during a contest, DigiRite, when run with WriteLog, monitors its connected Entry Window for a MYGRID column and transmits that entry from WriteLog rather than the one entered on this setup form.
To switch DigiRite's TX frequency choice, use the right mouse context menu on a QSO in Progress (or ALT+P with the keyboard focus) and change the top menu entry, TX on her frequency. For QSOs on our own TX frequency, the QSOs in Progress display shows our TX freqency as blank until the first TX cycle that a message is transmitted for that QSO. Once a QSO is started on a TX frequency, DigiRite keeps it there unless you click this menu entry.
Starting a QSO by answering a CQ message is the only way that DigiRite puts its QSO's transmit frequency on the other station's RX frequency. In all other cases, DigiRite chooses its own TX frequency. When answering a CQ, you may force DigiRite onto its own TX frequency for that QSO by using a right mouse click instead of a left click. (Or use File/Setup if you prefer to reverse the left versus right mouse click behavior for answering CQs to make left mouse force DigiRite onto its own TX frequency.)
If you change your TX frequency, the TX frequencies of existing QSO(s) in Progress is unaffected. However, an additional click on the Apply QnP button resets the TX frequency of all QSO(s) in Progress to the current TX, except those previously selected to reply on the RX frequency of the other station.
When initiating a transmission that has multiple streams DigiRite limits its maximum spread of TX frequencies among its streams in order to make its stress on your rig's intermodulation distortion capability regular (where "regular" means the IMD products should be at regular multiples of its multi-streaming spacing.) It enforces this frequency spread limit by reassigning its TX frequency of any QSO in progress that was otherwise on the RX frequency of that QSO. This reassignment lasts the duration of that QSO in progress.
For WARC band FT8/FT4 operation outside of contests and with WriteLog, the "General DXCC tracking log keeper" can be made to log what FT8 sends and receives. That module, by default, does not log a grid square, nor the digital submode. You may add the appopriate columns to log them. There are two columns that are useful to add. Use WriteLog's Exchange Format Setup and:
GRID
in the CaptionDGTL
for CaptionWith these changes, WriteLog will log the FT8 signal report in the RST columns, a grid square if exchanged in its GRID column, and "FT8" in the DGTL column.
Before you invoke DigiRite, you should use WriteLog's File/Save menu to start the log file. Otherwise, when DigiRite attempts to log its first QSO, WriteLog will put up a dialog box warning you about logging a QSO that is not being backed up, and DigiRite will appear hung until you respond to WriteLog's dialog box.
Both CQs shows you both even and odd CQs in the window just above. Turn it off and only those in the opposite cycle from your transmit are displayed.
Abort TX turns off the transmitter and PTT and turns off all check boxes that automate QSOs such that no further transmissions will go out. Your QSOs in progress and everything else on the page stay the same. This is the panic button. The keyboard ESC key activates this same function.
Setup lets you change the contest exchange, etc. An OK to the Setup dialog will cancel all QSO(s) in progress.
WriteLog will bring up a separate DigiRite window for each Entry Window you have configured in WriteLog Number of Radios. When you run multiple radios, each WriteLog Entry Window must be set to indicate L or R (or rig 3 or 4 but for those two you must manually configure the sound cards in Setup.)
With the CQ button on and Automatically Transmit next also on, DigiRite will make QSOs pretty much without interaction. It has a 5 minute internal timeout. If that much time passes without your interactions and without an answered CQ, it turns off its automation.
DigiRite discovers if you want your sent CQ message to be directed by inspecting the bottom entry in WriteLog's RTTY messages setup dialog. It expects to see the letters CQ followed by a word—four letters maximum per the FT8 message packing rules—that is your directed CQ. Note that if you are operating with an FT8 "non standard call" (i.e., your CALL can't be fit into its 28bit callsign encoding) then only bare CQs are supported and DigiRite ignores that bottom CQ entry in WriteLog.
An alternative messages is sent only if you click its check box. Only one of them is sent, and it takes the place of any Calculated next to send message for that QSO. A Manual message typed into the top right box takes the place of all messages for its cycle. No other messages are sent with a manual message, regardless of the multi-streaming setting.
Don't overlook the resize handles for both the Main Screen and the Receive screen. There is a sizing sash between the everything-received list and the waterfall, and another sizing sash on the Main Screen that controls the width of the left-most panes with your answers and CQs received.
Both DigiRite windows are keyboard aware. Press the Alt key when the keyboard focus on either, and it will underline its various keyboard Alt-key shortcuts. On the Main Screen Alt-P gets the keyboad focus to the QSO(s) in Progress, after which the cursor keys move the focus among the QSOs there. With the keyboard focus on one of them, another ALT+P brings up the context menu the same as right mouse button does on that QSO.
The DigiRite for
each Entry Window (i.e. radio) has its own two log files. They are located
in the Windows Users directory. It usually is
C:\Users\<your-username>\AppData\Local\DigiRite-1
This is for
the L radio. DigiRite-2 is for the R radio, etc. DigiRite
always appends digirite.log. You must occasionally check its size and delete it from
DigiRite's Help menu. The other log file is named Conversation.log. It contains
the entries in DigiRite's Conversation History window. The conversation log file is
erased and started over every time you restart DigiRite.