WlFlexDriver 12.22G

WlFlexDriver is a rig driver extension for WriteLog. Once installed with WriteLog version 11 or version 12, it adds this Rig Type option to WriteLog's Setup/Ports dialog:

Flex-6000 series

Install WlFlexDriver by running WlFlexDrivernnnn.exe. The installer finds the existing WriteLog installation, version 11 or version 12.

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


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.

CW transmission

The Flex radios have CW key inputs, so any of the compatible CW outputs from WriteLog can be used(see WriteLog's document.)

To instead use the Flex built-in Winkey, you have to setup both sides of the interface: the SmartSDR CAT program, and WriteLog's Setup/Ports.

  1. In SmartSDR CAT, make sure that is a Winkey emulation COM port (with a large W icon.) Use its Add... button to create a Winkey port, if necessary
  2. Ensure that SmartSDR CAT is running whenever WriteLog is running.
  3. In WriteLog, Setup/Ports choose an unused row and change the COM port setting to match the number of the COM port supported by SmartCAT in the previous steps.
  4. In WriteLog Setup/Ports, find the button on the COM port row and the CW column and click it ON.
  5. In WriteLog Setup/Ports, change the CW Type setting to "K1EL Winkey."

The Winkey built into the Flex provides no sidetone nor paddle input.

Flex-6000, SmartSDR Slices, and WriteLog

The WriteLog Flex driver has two different modes for using slices. The most functional mode requires four slices, A, B, C and D, to fully support SO2R along with split TX/RX frequencies on both radios. But some Flex hardware is limited to two slices (e.g. the Maestro with any Flex radio, or the Flex-6300.) For such hardware, this driver can be configured to limit itself to only slices A and B to accomodate. Skip the following section and instead see Limit to only 2 Slices.

SO2R and Split TX/RX on Slices A, B, C, and D

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 function 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 must 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." Use SmartSDR to create a Slice C. Should you then use WriteLog to go into split mode, it will 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.

Limit to only 2 Slices

This setting is used for Flex hardware that is limited to two slices, like the Maestro or the Flex-6300. There must be a Slice A. It is the receive or tranceive frequency. If there is no Slice A, then WriteLog displays "No Slice". Split operation is supported using Slices A and B.

Setup for Two slices

Check the Limit to 2 Slices button on WriteLog's Flex Setup dialog. If the check box is grayed out, you must right mouse click the Front Panel for the other Entry Window. Or edit WriteLog.ini and set

With the check box set on, WriteLog will only use Slice A and Slice B.

Two Entry Windows on separate Slices, but same rig

This is an advanced topic. Because there are only two slices, using two Entry Windows on one Flex radio has a limitation. The WriteLog Flex driver cannot operate split TX/RX frequencies and SO2R simultaneously. If you set one of WriteLog's Entry Windows to Split, the other Entry Window is disabled until you got back to tranceive. The disabled one displays Disabled(Split).

You may setup a second row in Setup/Ports with Flex-6000 series, and you must match the corresponding COM port selections for those two Flex-6000 series rows. Then the rig's Slices A/B are used by this WriteLog rig driver.

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 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 Front Panel setup for DAX all turned off, and for both the RX column in the dialog on the left and the TX column on the right.

WriteLog 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 DAX transmit channel captures 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

This section is for the newer versions of SmartSDR. If you are running an older version, see below.


Limit to 2 Slices

This button is for Maestro or the Flex-6300, both of which can only operate on Slices A and B.

Why use the WriteLog DAX Control?

The upper panel does essentially the same thing as the SmartSDR DAX 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 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.

Route your FlexRadio audio without having SmartSDR installed on the same PC as WriteLog. If SmartSDR is not installed, and if you select WriteLog's DAX replacement in the above dialog, then WriteLog pops up an additional dialog:


Manually select the devices you want WriteLog to use. In the example above, a Virtual Audio Cable application is installed and its sound devices are selected, which gives behavior very similar to the DAX Audio devices installed with SmartSDR.

For SmartSDR 1.5 and earlier

This section only applies to older versions of SmartSDR that had separate DAX TX channels for each transmit slice.


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.

Spectrum Display

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

The performance of this spectrum 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 first attempts to put the intensive numeric computations on your graphics card on your PC. Failing to get the computations there, it runs them on the main CPU.

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 corresponds to the 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. Or, in the Limit to 2 Slices mode, Slices A and B need to be on different panadapters from each other.

If you have setup FlexRadio's DAX Control panel to stream that panadapter to a Windows sound recording 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.

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

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 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
FlexDiscoveryLogFile=<full-path-to-log-file>Discovery packets logged to the given file
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
FlexAlwaysChooseDevices=0   change to 1 to make WriteLog always bring up a dialog box to choose sound devices for DAX TX/RX.
FlexMaxSliceWaitMsec=1000   Maximum time TX Slice change will wait for radio to be ready.
FlexXmitSliceWaitMsec=600   After the Flex says "READY" and this driver sends its change TX slice command, it is necessary to wait for radio to acknowledge, but the driver waits only this long.

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 missing from writelog.ini, 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. (The Limit to 2 Slice behavior is similar, its Slice B instead of C that is the second radio.)

Revision History

12.22 12.21 12.20 12.19 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.