WlFlexDriver 12.03A

WlFlexDriver is a rig driver extension for WriteLog. Once installed with WriteLog version 11 or version 12, it adds this Rig Type option:

Flex-6000 series

to WriteLog's Setup/Ports dialog.

Install WlFlexDriver by running WlFlexDriver1203A.exe. The installer finds the existing WriteLog installation, version 11 or version 12. It adds this rig driver.

Upgrading a previously installed WriteLog Flex Driver?

Expect an error message when you next run WriteLog. If you get a "COM port missing" message, run WriteLog's Setup/Ports, reselect Flex for Rig Type, and then Setup/Save Configuration to update your writelog.ini

One time setup

Once WlFlexDriver is installed, bring up WriteLog and select the menu entry Setup/Ports. The Rig Type column selectors offer Flex-6000 series.

WriteLog 11.27 and later

Here is what Setup/Ports looks like on 11.27 and later, and with one Flex-6000 series rig coupled to two WriteLog Entry Windows.


In Setup/Ports, change Rig Type to Flex-6000 series and the left-most column will automatically change from a COM port selector to a Flex radio selector showing radios detected with the Flex discovery protocol. This list does not automatically update as radios are discovered or disappear, however. Click the Rig Type to select Flex-6000 series again, even if it is already selected, to refresh the left-most list of available rigs.

The Radio column in WriteLog Entry Windows is updated by the Flex-6000 series rig driver if there are errors. These errors indicate a communications problem between WriteLog and the rig, and their meaning is

WriteLog 11.26 and earlier

Earlier versions of WriteLog, back to version 11.01 will work with this Flex rig driver. Select Flex-6000 Rig Type and also select a "COM Port" in the left-most column. The selected COM port will not be used and, in fact, need not actually exist on your system. Choose an unused COM port for the row with your Flex-6000 series selection. Click OK or Apply and a Flex Radio selector dialog appears. It lists the Flex radios that have responded recently to the Flex radio discovery protocol. It automatically refreshes if radios are added to or removed from the network. While this dialog can be closed without making a selection, the resulting rig driver won't work. So make a selection and click OK, or double click. Go back to WriteLog's Setup/Ports if you have to start over.

These versions of WriteLog will simply display 3500KHz CW if they cannot talk to the Slice in the selected Flex radio.


For this Flex-6000 series driver, it is recommended to set the column COM PTT to YES. (For CW transmission, WriteLog disables PTT output if QSK is set in its CW PTT dialog box.) As a general rule for WriteLog rig drivers, COM PTT is not well supported by rigs with hardware COM ports, but this Flex rig driver for WriteLog does, in fact, support PTT, so YES is the recommended setting.

This setup only lasts for the currently running WriteLog window. Use Setup/Save Configuration to write these results to writelog.ini.

Flex-6000, SmartSDR Slices, and WriteLog

There must be a Slice A in SmartSDR, and Slice A is always used by WlFlexDriver. It is the receive or tranceive frequency. If there is no Slice A, then WriteLog displays "No Slice" (WriteLog versions 11.26 and earlier show 3500KHz CW). Rig control does not happen until you use SmartSDR to add a Slice A.

Why won't WriteLog create Slice A if I don't have one? The FlexRadio has a very large range of options for setting up its internal signal flow, starting from the antenna, through preselectors, and into SmartSDR. WriteLog's rig driver depends on you having used SmartSDR to make all those choices.

Slices while running split

If you use WriteLog to put the radio into split frequency operation using, for example, WriteLog's "-" command, then Slice B comes into play; its the transmit frequency. If there is no Slice B when WriteLog puts the rig into split mode, then this rig driver will create a Slice B by cloning the panadapter and mode settings of Slice A, except tuned to the split transmit frequency.

Two Entry Windows on separate Slices, but same rig

This is an advanced topic.

You may setup a second row in Setup/Ports with Flex-6000 series, and you should match the corresponding COM port selections for those two Flex-6000 series rows. Then the rig's Slices C/D are used by this WriteLog rig driver. The same conventions for using Slices applies as with the first Entry Window, except this second Entry Window is coupled to Slice C for its receive/transceive frequency and D is its split transmit, if needed. If there is no slice C, then the "rig(2) on COMn" setting controls nothing, and the Radio column on the Entry Window displays "No Slice" (or 3500KHz CW on older WriteLog versions.) Use SmartSDR to create a Slice C. Should you then use WriteLog to go into split mode, it can clone a Slice D from Slice C.

When you have configured two Entry Windows on a single Flex radio, WriteLog manipulates the Audio Gain and Pan for the corresponding Slice's based on its Radio/Headpone Split or Normal menus. You may turn off this behavior with a setting in WriteLog.ini—see below.

It is possible to instead setup a second row, that doesn't match the COM port selection, but it works only in theory as of the current version of WriteLog and SmartSDR. These settings instruct WriteLog that there are two separate Flex radios, and, when you OK/Apply on Setup/Ports, it puts up, in succession, two separate "Flex Radio Select" dialogs. The notion is that the COM port identifies the radio. Naming the same COM port twice means, "I want two Entry Windows talking to multiple slices on the same radio" but naming two separate COM ports means, "I have two radios and two Entry Windows, one for each". Currently, connecting to two different radios is not very useful in combination with SmartSDR, which will only connect to one radio at a time.

The Front Panel

The WriteLog menu Radio/Front Panel will show "Flex Slices A/B" and, if you check that menu entry, you get a front panel that looks like this.


The front panel is touch sensitive. It is not left mouse sensitive, so it does not disrupt keyboard focus. (Right mouse brings up its configuration dialog—see below.) If you don't have a touch screen, it is display-only. With a touch screen, the following gestures control the attached Flex radio:

Audio Gain and Audio Pan

WriteLog's Audio Gain and Audio Pan features control those settings on the Slices inside the radio, which, in turn, affect only the audio on the radio's front panel PHONES jack, rear panel speaker jack, rear panel ACC, and the audio channel it sends to SmartSDR for its REMOTE button. These Gain and Pan settings do not affect the audio in the DAX receive audio channels.

DAX Control replacement

The WriteLog Flex Rig driver has a DAX Audio replacement built in. You may use it along with the existing DAX Control Panel for audio streams as long as you do not use Flex Dax Control Panel on DAX channels 1 through 4 (i.e. the top 4 entries in its Audio Streams page, nor the TX Audio nor Mic Stream.) Or, you may use the Flex DAX control panel as long as you leave WriteLog's FlexRadio setup upper panel for DAX all turned off, for both the RX column in the dialog on the left and the TX column on the right.

Enable WriteLog's use of DAX and it assigns DAX channels 1 through 4 to Slices A through D, respectively. There is no option in WriteLog to change its channel number assignment. 

For the Windows Devices connected via DAX, WriteLog uses the same assignment of DAX channels to Windows devices as the Flex DAX Control Panel. That is, the four DAX receive channels, 1 through 4, appear on the Windows Recording Devices named "DAX Audio RX 1" through "DAX Audio RX 4" and its four DAX transmit channels capture audio from the Windows Playback Devices named "DAX Audio TX" (for SmartSDR 1.6 and later) or "DAX Audio TX 1" through "DAX Audio TX 4" (for SmartSDR 1.5 and earlier).

Use a Right Mouse Button click anywhere in WriteLog's Front Panel display to bring up one of the two following dialogs. WriteLog detects the version of SmartSDR you are running.


For SmartSDR 1.6 and later

Why use the WriteLog DAX Control?

The upper panel does essentially the same thing as the SmartSDR CAT program. It turns RX DAX channels on and off per slice, and it turns the (one and only) TX DAX channel on and off, and it turns the (one and only) Mic Stream channel on and off.

The Mic Stream channel is new to SmartSDR 1.6. It allows you to use the microphone plugged directly into the FlexRadio to record on the PC. Unfortunately, as of this writing, turning on both the TX DAX and the Mic Stream concurrently does not work. That is, the radio does not seem to support streaming its mic audio first over to the PC and then, possibly, back again into radio on its TX DAX channel. This precludes using the FlexRadio's microphone front panel as the "station microphone" for an SO2R setup with WriteLog alternately routing the Flex's mic audio back to the Flex or to the other rig.

Also, as of this writing, for SSB mode, using the TX DAX to route transmit audio to the FlexRadio results in more than 250 msec of delay. That is, pressing an F-key in WriteLog, or speaking into the station microphone that WriteLog is using "Echo mic" to repeat into the Flex DAX TX channel, results in a transmit signal that is more than 250msec behind your voice. The only obvious way to eliminate this delay is to change your hardware configuration to dispense with DAX altogether (turn the entire to panel of the above dialog to OFF and the check buttons OFF) and wire a sound card for both transmit and receive audio into either the FlexRadio's MIC and PHONES jacks, or its rear panel ACC line-in/line-out. Using the analog audio between the Flex and the PC, of course, loses the fidelity and immunity to overload provided by the DAX interface.


For SmartSDR 1.5 and earlier

Why use the WriteLog DAX Control?

If you use the WriteLog control panel to set each Slice to its own DAX Channel, then WriteLog routes DAX audio in the same way as the Flex DAX Control Panel.

But the TX Audio DAX selectors for the Slices all also offer DAX Channel 1 as its input. That is, you may configure your digital modem to transmit only on the "Tx Audio TX 1" for the sound device, but then use WriteLog to create a Slice B for split frequency operation and leave your modem configuration on that same sound card as for Slice A. As of this writing, the radio disables VOX when WriteLog switches the radio's audio input among its DAX channels. The recommended configuration is to set COM PTT to YES.

Spectral Display

The same Right Mouse Button dialog above enables and configures WriteLog's (simplified) spectral display. It configures the Panadapter hosting the Slice to have a DAXIQ channel (and this IQ channel cannot be shared).

The performance of this spectral display has not been characterized (which is another way of saying, I really don't know how much computer/ graphics card is required to make it work.) It puts the intensive numeric computations on your graphics card on your PC, which is why it requires an installation of a recent version of DirectX. If DirectX doesn't find the necessary accellerator on your PC, WriteLog cannot run the spectrum display. However, WriteLog does not give you any message why.

SmartSDR automatically adjusts the center frequency of the Panadapter when you tune its Slices, and usually keeps them close enough for this display. If the Slice frequency is more than half of your selected spectral width from the center of its Panadapter, then the calculated frequency spectrum doesn't overlap the Slice's center. Use SmartSDR to recenter the Panadapter on the desired slice, or use WriteLog's configuration to increase the spectral width. The maximum is 192KHz, which is also maximum IQ sample rate available from the FlexRadio. Use the high bandwidth IQ setting only in a configuration where you have ample bandwidth between WriteLog and the Flex radio. If there is not enough bandwidth, you may notice the DAX receive channels "drop out" (intermittently and briefly go silent.)

When you configure a single Flex series radio as two "Rigs" in WriteLog's Setup/Ports, the Front Panel spectral display works properly (i.e. is able to run two separate DAX IQ streams--one for each "Rig") only if you manually use SmartSDR to configures Slice C and D to be together on a different panadapter than Slices A and B.

If you have setup FlexRadio's DAX Control panel to stream that panadapter to a Windows "sound" device, then WriteLog cannot show a spectrum, and instead looks like this:

DAX Channel busy.png

You fix the problem by bringing up the DAX control panel and turn off the IQ streaming:

DAX Control Panel.png

Those top four rows, labeled "Audio Streams", should be turned off for any corresponding Slices that you have configured with WriteLog for DAX Audio--for either TX or RX.


For RTTY operation, setting the correct DIGITAL_OFFSET takes a little head-scratching to figure out. The value to use for N is, for a Flex rig, going to be 18 unless you have multiple Flex rigs on your network. The exact way to know what N should be is to (a) note which row in Setup/Ports is the Flex rig for the DIGITAL_OFFSET you want to set. Then (b) look in [PORTS] CommSlotM=N. The M is the row number (in the range 1 through 4) and N is the number to use for COMN_DIGITAL_OFFSET_HZ.

The first two entries below are in screen inches. That is, the width and height of the front panel with these settings will be 5 inches by 1 inch based on the screen driver's reporting of pixels per inch.

CommSlot1=18    The top slot in Setup/Ports has a Flex rig in this example.
FlexFPwide=5    The units are screen inches
FlexDaxRenderMultiple=2   DAX audio drop-outs on RX? increase this up to 10. latency increases
FlexDaxCaptureMultiple=2   DAX audio drop-outs on TX? increase this up to 10. latency increases
FlexDaxCaptureDeadlineDivisor=7   TX DAX audio quits? increase this up to 9 or down to 1
Flex2ndRadioHpControlEnable=1   change to 0 to stop manipulation of the Flex audio pan and gain

There are other entries edited by the Right Mouse dialog.

The Flex2ndRadioHpControlEnable is on unless you change it to zero in WriteLog.ini. With this setting enabled as above, or not in writelog.ini at all, and when you select two Entry Windows on the same Flex Rig, then WriteLog's Headphones Split/Normal functions manipulate their corresponding Slice object Audio Gain and Audio Pan. Using WriteLog's Radio/Split menu entry sets your left ear to hear Slice A while your right has Slice C. Radio/Normal means the Slice that corresponds to the Entry Window with keyboard focus goes in both ears. If there is a Slice B (also used as a split transmit frequency), then Slice B's audio goes to the right ear as a "subreceiver". If only Slice A exists, then its Audio Pan goes across both ears. Similarly, the second Entry Window's Slices C & D get split or panned, depending on whether both of them or only one of them exists.

Revision History

12.03 12.01 11.30c 11.29d 11.29c 11.29b 11.29a 11.28n 11.28m 11.28j 11.28h 11.28f and 11.28g 11.28e 11.28

Installation details

The WriteLog FlexRadio Driver uses the Ethernet API FlexRadio publishes for their 6000 series radios.

Prior versions (11.28h and earlier) of WriteLog's FlexRadio Rig Drivers all used and installed the FlexLib software from FlexRadio. This version detects such an earlier installation of WriteLog's driver and uninstalls the old version.