Fldigi Users Manual  4.2.00
Xmlrpc Control

XML-RPC data is transported via simple HTTP and client implementations exist for most programming languages. A Perl client that can be used as a control script is included in the source tar ball as scripts/fldigi-shell. This control method is currently used by several external programs including flrig, logger32 and Xlog.

The following command line arguments become available when XML-RPC support is compiled into fldigi, as described in the build instructions:

 --xmlrpc-server-address HOSTNAME
   Set the XML-RPC server address. The default is 127.0.0.1.

 --xmlrpc-server-port PORT
   Set the XML-RPC server port. The default is 7362.

 --xmlrpc-allow REGEX
   Allow only the methods whose names match REGEX

 --xmlrpc-deny REGEX
   Allow only the methods whose names don't match REGEX

 --xmlrpc-list
   List all available methods

The –xmlrpc-deny and –xmlrpc-allow switches can be used as a simple access control mechanism. REGEX specifies a POSIX extended regular expression. This invocation disables the methods that may cause fldigi to transmit:

  --xmlrpc-deny 'main\.(tx|tune|run_macro)'

By default all methods are allowed.

The –xmlrpc-list switch outputs the method list and exits the program. If preceded by –xmlrpc-deny or –xmlrpc-allow, it shows the list of methods as filtered by those switches.

The methods are listed below. The three columns are method name, signature (return_type:argument_types), and description. Refer to the XML-RPC specification for the meaning of the signature characters

XML Command Symbol Interpretation


Symbol Interpretation
6 bytes
A array
b boolean
d double
i integer
n nil
s string
S struct

Table of XML Commands


Method Name Sig (ret:arg) Description
fldigi.config_dir s:n Returns the name of the configuration directory
fldigi.list A:n Returns the list of methods
fldigi.name s:n Returns the program name
fldigi.name_version s:n Returns the program name and version
fldigi.terminate n:i Terminates fldigi. `‘i’' is bitmask specifying data to save: 0=options; 1=log; 2=macros
fldigi.version s:n Returns the program version as a string
fldigi.version_struct S:n Returns the program version as a struct
io.enable_arq n:n Switch to ARQ I/O
io.enable_kiss n:n Switch to KISS I/O
io.in_use s:n Returns the IO port in use (ARQ/KISS).
log.clear n:n Clears the contents of the log fields
log.get_az s:n Returns the AZ field contents
log.get_band s:n Returns the current band name
log.get_call s:n Returns the Call field contents
log.get_country s:n Returns the Country field contents
log.get_exchange s:n Returns the contest exchange field contents
log.get_frequency s:n Returns the Frequency field contents
log.get_locator s:n Returns the Locator field contents
log.get_name s:n Returns the Name field contents
log.get_notes s:n Returns the Notes field contents
log.get_province s:n Returns the Province field contents
log.get_qth s:n Returns the QTH field contents
log.get_rst_in s:n Returns the RST(r) field contents
log.get_rst_out s:n Returns the RST(s) field contents
log.get_serial_number s:n Returns the serial number field contents
log.get_serial_number_sent s:n Returns the serial number (sent) field contents
log.get_state s:n Returns the State field contents
log.get_time_off s:n Returns the Time-Off field contents
log.get_time_on s:n Returns the Time-On field contents
log.set_call n:s Sets the Call field contents
log.set_exchange n:s Sets the contest exchange field contents
log.set_locator n:s Sets the Locator field contents
log.set_name n:s Sets the Name field contents
log.set_qth n:s Sets the QTH field contents
log.set_rst_in n:s Sets the RST(r) field contents
log.set_rst_out n:s Sets the RST(s) field contents
log.set_serial_number n:s Sets the serial number field contents
main.abort n:n Aborts a transmit or tune
main.get_afc b:n Returns the AFC state
main.get_char_rates s:n Returns table of char rates.
main.get_char_timing n:6 Input: value of character. Returns transmit duration
for specified character (samples:sample rate).
main.get_frequency d:n Returns the RF carrier frequency
main.get_lock b:n Returns the Transmit Lock state
main.get_max_macro_id i:n Returns the maximum macro ID number
main.get_reverse b:n Returns the Reverse Sideband state
main.get_rsid b:n Returns the RSID state
main.get_txid b:n Returns the TxRSID state
main.get_squelch b:n Returns the squelch state
main.get_squelch_level d:n Returns the squelch level
main.get_status1 s:n Returns the contents of the first status field (typically s/n)
main.get_status2 s:n Returns the contents of the second status field
main.get_trx_state s:n Returns T/R state
main.get_trx_status s:n Returns transmit/tune/receive status
main.get_tx_timing n:6 Returns transmit duration for test string (samples:sample rate:secs).
main.get_wf_sideband s:n Returns the current waterfall sideband
main.inc_frequency d:d Increments the RF carrier frequency. Returns the new value
main.inc_squelch_level d:d Increments the squelch level. Returns the new level
main.run_macro n:i Runs a macro
main.rx n:n Receives
main.rx_only n:n Disables Tx.
main.rx_tx n:n Sets normal Rx/Tx switching.
main.set_afc b:b Sets the AFC state. Returns the old state
main.set_frequency d:d Sets the RF carrier frequency. Returns the old value
main.set_lock b:b Sets the Transmit Lock state. Returns the old state
main.set_reverse b:b Sets the Reverse Sideband state. Returns the old state
main.set_rsid b:b Sets the RSID state. Returns the old state
mmain.set_txid b:b Sets the TxRSID state. Returns the old state
main.set_squelch b:b Sets the squelch state. Returns the old state
main.set_squelch_level d:d Sets the squelch level. Returns the old level
main.set_wf_sideband n:s Sets the waterfall sideband to USB or LSB
main.toggle_afc b:n Toggles the AFC state. Returns the new state
main.toggle_lock b:n Toggles the Transmit Lock state. Returns the new state
main.toggle_reverse b:n Toggles the Reverse Sideband state. Returns the new state
main.toggle_rsid b:n Toggles the RSID state. Returns the new state
main.toggle_txid b:n Toggles the TxRSID state. Returns the new state
main.toggle_squelch b:n Toggles the squelch state. Returns the new state
main.tune n:n Tunes
main.tx n:n Transmits
modem.get_afc_search_range i:n Returns the modem AFC search range
modem.get_bandwidth i:n Returns the modem bandwidth
modem.get_carrier i:n Returns the modem carrier frequency
modem.get_id i:n Returns the ID of the current modem
modem.get_max_id i:n Returns the maximum modem ID number
modem.get_name s:n Returns the name of the current modem
modem.get_names A:n Returns all modem names
modem.get_quality d:n Returns the modem signal quality in the range [0:100]
modem.inc_afc_search_range n:i Increments the modem AFC search range. Returns the new value
modem.inc_bandwidth n:i Increments the modem bandwidth. Returns the new value
modem.inc_carrier i:i Increments the modem carrier frequency. Returns the new carrier
modem.olivia.get_bandwidth i:n Returns the Olivia bandwidth
modem.olivia.get_tones i:n Returns the Olivia tones
modem.olivia.set_bandwidth n:i Sets the Olivia bandwidth
modem.olivia.set_tones n:i Sets the Olivia tones
modem.search_down n:n Searches downward in frequency
modem.search_up n:n Searches upward in frequency
modem.set_afc_search_range n:i Sets the modem AFC search range. Returns the old value
modem.set_bandwidth n:i Sets the modem bandwidth. Returns the old value
modem.set_by_id i:i Sets the current modem. Returns old ID
modem.set_by_name s:s Sets the current modem. Returns old name
modem.set_carrier i:i Sets modem carrier. Returns old carrier
navtex.get_message s:i Returns next Navtex/SitorB message with a max delay in
seconds.. Empty string if timeout.
navtex.send_message s:s Send a Navtex/SitorB message. Returns an empty string
if OK otherwise an error message.
rig.get_bandwidth s:n Returns the name of the current transceiver bandwidth
rig.get_bandwidths A:n Returns the list of available rig bandwidths
rig.get_mode s:n Returns the name of the current transceiver mode
rig.get_modes A:n Returns the list of available rig modes
rig.get_name s:n Returns the rig name previously set via rig.set_name
rig.get_notch s:n Reports a notch filter frequency based on WF action
rig.release_control n:n Switches rig control to previous setting
rig.set_bandwidth n:s Selects a bandwidth previously added by rig.set_bandwidths
rig.set_bandwidths n:A Sets the list of available rig bandwidths
rig.set_frequency d:d Sets the RF carrier frequency. Returns the old value
rig.set_mode n:s Selects a mode previously added by rig.set_modes
rig.set_modes n:A Sets the list of available rig modes
rig.set_name n:s Sets the rig name for xmlrpc rig
rig.set_pwrmeter n:i Sets the power meter returns null.
rig.set_smeter n:i Sets the smeter returns null.
rig.take_control n:n Switches rig control to XML-RPC
rx.get_data 6:n Returns all RX data received since last query.
rxtx.get_data 6:n Returns all RXTX combined data since last query.
spot.get_auto b:n Returns the autospotter state
spot.pskrep.get_count i:n Returns the number of callsigns spotted in the current session
spot.set_auto n:b Sets the autospotter state. Returns the old state
spot.toggle_auto n:b Toggles the autospotter state. Returns the new state
text.add_tx n:s Adds a string to the TX text widget
text.add_tx_bytes n:6 Adds a byte string to the TX text widget
text.clear_rx n:n Clears the RX text widget
text.clear_tx n:n Clears the TX text widget
text.get_rx 6:i Returns a range of characters (start, length) from the RX text widget
text.get_rx_length i:n Returns the number of characters in the RX widget
tx.get_data 6:n Returns all TX data transmitted since last query.
wefax.end_reception s:n End Wefax image reception
wefax.get_received_file s:i Waits for next received fax file, returns its name with
a delay. Empty string if timeout.
wefax.send_file s:i Send file. returns an empty string if OK otherwise an error message.
wefax.set_adif_log s:b Set/reset logging to received/transmit images to ADIF log file
wefax.set_max_lines s:i Set maximum lines for fax image reception
wefax.set_tx_abort_flag s:n Cancels Wefax image transmission
wefax.skip_apt s:n Skip APT during Wefax reception
wefax.skip_phasing s:n Skip phasing during Wefax reception
wefax.state_string s:n Returns Wefax engine state (tx and rx) for information.

Deprecated methods:

Method Name Sig Resolution
log.get_sideband s:n use main.get_wf_sideband
main.get_rig_bandwidth s:n use rig.get_bandwidth
main.get_rig_bandwidths n:A use rig.get_bandwidths
main.get_rig_mode s:n use rig.get_mode
main.get_rig_modes A:n use rig.get_modes
main.get_sideband s:n use main.get_wf_sideband and/or rig.get_mode
main.rsid n:n use main.{get,set,toggle}_rsid
main.set_rig_bandwidth n:s use rig.set_bandwidth
main.set_rig_bandwidths n:A use rig.set_bandwidths
main.set_rig_frequency d:d use rig.set_frequency
main.set_rig_mode n:s use rig.set_mode
main.set_rig_modes n:A use rig.set_modes
main.set_rig_name n:s use rig.set_name
main.set_sideband n:s use main.set_wf_sideband and/or rig.set_mode


Minimized WF Window


If your external control program duplicates some of the fldigi controls such as the Rx and Tx pane you can run fldigi in a fully minimized mode. Fldigi then only provides the controls necessary for signal acquisition and waterfall management. Minimization is accomplished by setting the command line switch (--wo). The user interface then has this appearance:

Simplified WF Window Display

The documentation for the external control program will provide additional information if this user interface is desired.


Return to Top of Page
Return to Main Page