Flrig v1.3.40 now available

The hard-working development team led by W1HKJ have announced the release of Flrig v1.3.40. Flrig is a transceiver control program designed to be used either stand alone or as an adjunct to Fldigi.

This version of Flrig is a minor maintenance release with a fixes and enhancements to several rigs supported by Flrig. Full details are available in the ReadMe file available for download and below this announcement.

As with all of the FL suite, Flrig continues to support both PowerPC and Intel (i386) processors; with individual downloads available for each architecture and can be downloaded here.

Version 1.3.40

  * Maintenance release

  FT950 comp
    * removed speech equalizer switching
      - compression level always sent when changed
      - compression on/off state always sent when
        changes in state or comp level

  COMport NONE testing
    * allow testing all functions when NONE selected

  slider drag
    * change coding to improve responsiveness
      - separate UI from serial send
      - push UI slider changes to slider queue
      - process slider queue in serial thread

  KENWOOD vfoA/B split
    * Change VFO A/B, SPLIT operation to be identical to transceiver front panel operation

  IC PBT controls
    * Add read Passband Tuning controls

  Send Command
    * add waitResponse

  Yaesu mods
    * corrected FT5000 mode table entries
    * modified FT5000 SWR table conversion
    * change waitN to wait_char
      added trace statements
      added bandwidth by vfo/mode
      - FT450
      - FT450D
      - FT950
      - FT2000
      - FTdx1200
      - FTdx3000
      - FT5000
      - FTdx9000
    * modified FT5000 Pwr table conversion

  tt550
    * add trace statements to 550 backend
    * add missing tt550_enable_keyer boolean to prefs file.  default to false.

  Test Xcvr
    * Separate all xcvr set/get from UI initialization
    * Add check() to all xcvr back ends
      - test for get_vfoA, fail if no response

  modeA modeB
    * Correct xmlrpc methods for set_modeA, set_modeB
      when transceiver can modify alternate vfo parameters - IC7300

  Documentation
    * revise documentation to current version

  FT1000 update
    * AM mode filter code changes

  UI init
    * fix drop down resizing on Windows
    * add more points to progress during init
    * change "Tune" button label to "Tuner"
      - change hint to "Enable Auto Tune"

  ICOM transceivers
    * Additional code to support main/sub transceiver paradigm for swapping main / sub vfos
    * Add controls for Icom Inner/Outer PBT
      - allow locking controls for IF shift
    * Add Filter select to bandwidth selector
      - e.g. Wide/Medium/Narrow for IC7200
    * Add between execution memory for bandwidth and filter selection by vfo by mode
    * Add read/restore of filters in use for vfoA / vfoB
    * enabled vfo adjust for IC7300
    * calibrated IC7300 power and swr tables
    * add xmlrpc methods to get / set modeA modeB
    * corrected IC73000 mode_bw tables
    * correct default start up freq, mode, bw for various models

  xml_server
    * add get vfo A/B mode
    * add get vfo A/B bw
    * add send command type of string processing to xmlrpc server
    * Change widget used to display xml-help

  trace update
    * Add separate status item for trace on/off
    * Add configuration tab for debugging
    * change all occurrences to use the trace output file
    * add all debug statements to trace log
    * add trace statements to xmlrpcpp lib

  guard lock
    * Change trace number to trace string

  KENWOOD base
    * Add base rig class for KENWOOD transceivers

  Trace
    * separate trace file generation by
      - RIG_DEBUG 0 - no trace; default
      - RIG_DEBUG 1 - trace level 1 xcvr methods
      - RIG_DEBUG 2 - trace all xcvr methods
      - XML_DEBUG 0 - no trace of xmlrpc methods; default
      - XML_DEBUG 1 - trace xmlrpc methods

  ts2000 get split
    * Change to read P12 in IF; response

  TOD thread
    * Remove TOD thread and all support code

  PTT on split

  TS2000 split
    * remove Fl::awake(...) call from TS480HX/SAT, TS590S/SG, TS2000

  TS series A2B
    * execute active to inactive for all xcvrs whose
      command set does not include a native copy vfo

  Send command
    * Change guard_lock mutex for send command

  ICOM A/B vfo handling
    * IC7300
      get set for freq/mode/filter changed to use x25 x26 CAT sequences.
      A/B FIL # will always be same as set at xcvr
    * IC7200
      copy active to inactive did not change the displayed vfoB frequency.
    * removed all special handling for swapping vfos in Icom transceivers
      - use Icom generic swapAB
      - exception IC7300, add read FIL A/B after swap
    * Add specific B0/B1 commands for 756PRO series

  xmlrpc split/swap/a2b
    * change split/swap/a2b processing to service queue management

  fix tod clock
    * Thanks Mike, W9MDB
      - change ztimer to use tv.usec for sub second timing

  TS480
    * Add front panel beep disable to 480HX and 480SAT

  PTT queue
    * combine vfoque and ptt queue into single fifo processor
    * replace multiple mutex with single

  sizeof errors
    * correct use of sizeof array in various source files

  XMLRPC Select Vfo
    * Add processing delay after every call to select vfo
      - fixed 200 msec

  xmlrpc server
    * add rig.set_bandwidth method to xmlrpc server
      - valid if xcvr can set bandwidth, bandwidth / shift
      - not valid if xcvr set to use high / low pass values
    * change paradigm for servicing vfo A/B change requests
      - single queue for both A and B requests
      - all service requests handled by single queue processor
        with the exceptionof PTT.
      - queue handles interlaced A/B, UI, and xmlrpc requests
    * force get and set to wait for vfoque servicing to complete
    * fix cbA2B (copy active to inactive vfo)

  TS480HX/SAT
    * Copy working methods from 480SAT
    * Update power scale and conversion

  Conditional trace
    * trace output conditional upon command line parameter RIG_DEBUG
    * remove specific RIG_DEBUG = true statements from transceiver class methods

  Warnings fixes
    * Fix various reported compile warnings

  FT950 debug
    * Added trace calls to class methods

  FT891 mods
    * Added trace statements to FT891 class methods
    * Modify code to comply with latest pdf CAT reference manual.

  Icom updates
    * Add trace statements to Icom class methods
      - removed civ debug log
    * IC7300
      - Bug fix in set bandwidth methods
      - add compile directive for alternate vfo methods
    * corrected bwtable method in various icom xcvr class
    * extended tod clock to 10 usec precision

  Load prefs file
    * Load existing prefs file when changing xcvrs
    * Provide button to refresh the combo listing of serial ports

  Exit processing
    * correct debug seg fault during exit processing
    * move all exit processing to main thread
    * add Fl::check() to force UI update during
      transceiver restore

  Vfo-B mode
    * Correct method get_modeB in TT588.cxx
    * Correct method get_modeB in IC7300.cxx
    * Always set useB flag with selectA / selectB

  appbundle
    * fix app version string

  Init no split
    * Disable split on transceiver intitialization

  xmlrpc method swap
    * correct calling method
      - was rig.set_swap
      - add rig.swap

  FT series vfo
    * Change FT series class methods for set/get vfo

  altvfo
    * add code to set and read alternate vfo freq IC7300
      - command code 0x25
    * use rig data vfo initialize failed to
      correctly read start up values
    * Modify code to copy freq, mode and bandwidth A->B
    * Change all Icom class vfo set/get methods
    * Change A=B behavior; active vfo --> inactive vfo
      independent of whether A or B is active.  This
      behavior emulates the Icom series of transceivers.

  ptt race / debug trace
    * make trace(...) conditional
    * fix ptt race condition

  Service queues
    * change queue servicing to execute all pending
      service requests rather than just the final

  replystr mutex
    * change replystr to rigbase element
    * add mutex to guard replystr contents

  xmlrpc a/b vfo
    * expose new xmlrpc methods
      - rig.set_vfoA
      - rig.set_vfoB
      - rig.get_vfoA
      - rig.get_vfoB
    * changed A/B state change queue processing
    * Add ability to QSY during Tx for transceivers
      - allow user to disable for transceivers which do not support that capability

  ICbase
    * Condition wait for FB dependent on echo_comm on/off

  Split operation
    * Implement a fake split operation for all transceivers not
      supporting split natively
     * TS2000 change get_split to return boolean

  TT588
    * Correct CAT string for split

  xmlrpc help
    * add --xmlrpc-help
      - prints xmlrpc interface to cout
    * add rig.set_frequency
      identical to main.set_frequency
    * Create a substitute read-only text dialog for Windows
      users to access command line output

  xmlrpc swap/split
    * expose vfo set swap to xmlrpc interface
    * expose set/get split to xmlrpc interface

  Yaesu ID
    * Change back ends for Yaesu transceivers
      - add ID; query before every change request
        to insure that transceiver is receptive

  Mode change
    * Fix seg fault in xml_server
      - occurred for specific mode changes when bandwidth selection is maximum value