<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html><head> <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type"><title>xmlrpc-control</title></head><body style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 204);" alink="#000099" link="#000099" vlink="#990099"><h1 style="text-align: center;">XmlRpc Control</h1>As of version 3.0, various aspects of Fldigi's operation can be controlled remotely using <a href="http://www.xmlrpc.com/">XML-RPC</a>. 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 tarball as scripts/fldigi-shell. This control method is currently used by several external programs including <span style="font-style: italic;">flrig, logger32 </span>and<span style="font-style: italic;"> Xlog</span>.<br><br>The following command line arguments become available when XML-RPC support is compiled into fldigi, as described in the <a href="Installing.html">build instructions</a>:<br><br> --xmlrpc-server-address HOSTNAME<br> Set the XML-RPC server address. The default is 127.0.0.1.<br><br> --xmlrpc-server-port PORT<br> Set the XML-RPC server port. The default is 7362.<br><br> --xmlrpc-allow REGEX<br> Allow only the methods whose names match REGEX<br><br> --xmlrpc-deny REGEX<br> Allow only the methods whose names don't match REGEX<br><br> --xmlrpc-list<br> List all available methods<br><br>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:<br><br> --xmlrpc-deny 'main\.(tx|tune|run_macro)'<br><br>By default all methods are allowed.<br><br>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.<br><br>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 (briefly: n=nil, b=boolean, i=integer, d=double, s=string, 6=bytes, A=array, S=struct).<br><br> <pre><big>fldigi.list A:n Returns the list of methods.</big></pre> <pre><big>fldigi.name s:n Returns the program name.</big></pre> <pre><big>fldigi.version_struct S:n Returns the program version as a struct.</big></pre> <pre><big>fldigi.version s:n Returns the program version as a string.</big></pre> <pre><big>fldigi.name_version s:n Returns the program name and version.</big></pre> <pre><big>fldigi.config_dir s:n Returns the name of the configuration directory.</big></pre> <pre><big>fldigi.terminate n:i Terminates fldigi. ``i'' is bitmask specifying data to save: <br> 0=options; 1=log; 2=macros.</big></pre> <pre><big>modem.get_name s:n Returns the name of the current modem.</big></pre> <pre><big>modem.get_names A:n Returns all modem names.</big></pre> <pre><big>modem.get_id i:n Returns the ID of the current modem.</big></pre> <pre><big>modem.get_max_id i:n Returns the maximum modem ID number.</big></pre> <pre><big>modem.set_by_name s:s Sets the current modem. Returns old name.</big></pre> <pre><big>modem.set_by_id i:i Sets the current modem. Returns old ID.</big></pre> <pre><big>modem.set_carrier i:i Sets modem carrier. Returns old carrier.</big></pre> <pre><big>modem.inc_carrier i:i Increments the modem carrier frequency. Returns the new carrier.</big></pre> <pre><big>modem.get_carrier i:n Returns the modem carrier frequency.</big></pre> <pre><big>modem.get_afc_search_range i:n Returns the modem AFC search range.</big></pre> <pre><big>modem.set_afc_search_range n:i Sets the modem AFC search range. Returns the old value.</big></pre> <pre><big>modem.inc_afc_search_range n:i Increments the modem AFC search range. Returns the new value.</big></pre> <pre><big>modem.get_bandwidth i:n Returns the modem bandwidth.</big></pre> <pre><big>modem.set_bandwidth n:i Sets the modem bandwidth. Returns the old value.</big></pre> <pre><big>modem.inc_bandwidth n:i Increments the modem bandwidth. Returns the new value.</big></pre> <pre><big>modem.get_quality d:n Returns the modem signal quality in the range [0:100].</big></pre> <pre><big>modem.search_up n:n Searches upward in frequency.</big></pre> <pre><big>modem.search_down n:n Searches downward in frequency.</big></pre> <pre><big>main.get_status1 s:n Returns the contents of the first status field (typically s/n).</big></pre> <pre><big>main.get_status2 s:n Returns the contents of the second status field.</big></pre> <pre><big>main.get_sideband s:n [DEPRECATED] Returns the current waterfall sideband.</big></pre> <pre><big>main.set_sideband n:s [DEPRECATED] Sets the rig or waterfall sideband to USB or LSB.</big></pre> <pre><big>main.get_wf_sideband s:n Returns the current waterfall sideband.</big></pre> <pre><big>main.set_wf_sideband n:s Sets the waterfall sideband to USB or LSB.</big></pre> <pre><big>main.get_frequency d:n Returns the RF carrier frequency.</big></pre> <pre><big>main.set_frequency d:d Sets the RF carrier frequency. Returns the old value.</big></pre> <pre><big>main.inc_frequency d:d Increments the RF carrier frequency. Returns the new value.</big></pre> <pre><big>main.get_afc b:n Returns the AFC state.</big></pre> <pre><big>main.set_afc b:b Sets the AFC state. Returns the old state.</big></pre> <pre><big>main.toggle_afc b:n Toggles the AFC state. Returns the new state.</big></pre> <pre><big>main.get_squelch b:n Returns the squelch state.</big></pre> <pre><big>main.set_squelch b:b Sets the squelch state. Returns the old state.</big></pre> <pre><big>main.toggle_squelch b:n Toggles the squelch state. Returns the new state.</big></pre> <pre><big>main.get_squelch_level d:n Returns the squelch level.</big></pre> <pre><big>main.set_squelch_level d:d Sets the squelch level. Returns the old level.</big></pre> <pre><big>main.inc_squelch_level d:d Increments the squelch level. Returns the new level.</big></pre> <pre><big>main.get_reverse b:n Returns the Reverse Sideband state.</big></pre> <pre><big>main.set_reverse b:b Sets the Reverse Sideband state. Returns the old state.</big></pre> <pre><big>main.toggle_reverse b:n Toggles the Reverse Sideband state. Returns the new state.</big></pre> <pre><big>main.get_lock b:n Returns the Transmit Lock state.</big></pre> <pre><big>main.set_lock b:b Sets the Transmit Lock state. Returns the old state.</big></pre> <pre><big>main.toggle_lock b:n Toggles the Transmit Lock state. Returns the new state.</big></pre> <pre><big>main.get_rsid b:n Returns the RSID state.</big></pre> <pre><big>main.set_rsid b:b Sets the RSID state. Returns the old state.</big></pre> <pre><big>main.toggle_rsid b:n Toggles the RSID state. Returns the new state.</big></pre> <pre><big>main.get_trx_status s:n Returns transmit/tune/receive status.</big></pre> <pre><big>main.tx n:n Transmits.</big></pre> <pre><big>main.tune n:n Tunes.</big></pre> <pre><big>main.rsid n:n Deprecated; use main.{get,set,toggle}_rsid instead.</big></pre> <pre><big>main.rx n:n Receives.</big></pre> <pre><big>main.abort n:n Aborts a transmit or tune.</big></pre> <pre><big>main.get_trx_state s:n Returns t/r state.</big></pre> <pre><big>main.set_rig_name n:s Sets the rig name for xmlrpc rig</big></pre> <pre><big>main.set_rig_frequency d:d Sets the RF carrier frequency. Returns the old value.</big></pre> <pre><big>main.set_rig_modes n:A Sets the list of available rig modes</big></pre> <pre><big>main.set_rig_mode n:s Sets a mode previously designated by main.set_rig_modes</big></pre> <pre><big>main.get_rig_modes A:n Returns the list of available rig modes</big></pre> <pre><big>main.get_rig_mode s:n Returns the name of the current transceiver mode</big></pre> <pre><big>main.set_rig_bandwidths n:A Sets the list of available rig bandwidths</big></pre> <pre><big>main.set_rig_bandwidth n:s Sets a bandwidth previously added by main.set_rig_bandwidths</big></pre> <pre><big>main.get_rig_bandwidth s:n Returns the name of the current transceiver bandwidth</big></pre> <pre><big>main.get_rig_bandwidths A:n Returns the list of available rig bandwidths</big></pre> <pre><big>main.run_macro n:i Runs a macro.</big></pre> <pre><big>main.get_max_macro_id i:n Returns the maximum macro ID number.</big></pre> <pre><big>log.get_frequency s:n Returns the Frequency field contents.</big></pre> <pre><big>log.get_time_on s:n Returns the Time-On field contents.</big></pre> <pre><big>log.get_time_off s:n Returns the Time-Off field contents.</big></pre> <pre><big>log.get_call s:n Returns the Call field contents.</big></pre> <pre><big>log.get_name s:n Returns the Name field contents.</big></pre> <pre><big>log.get_rst_in s:n Returns the RST(r) field contents.</big></pre> <pre><big>log.get_rst_out s:n Returns the RST(s) field contents.</big></pre> <pre><big>log.get_serial_number s:n Returns the serial number field contents.</big></pre> <pre><big>log.set_serial_number n:s Sets the serial number field contents.</big></pre> <pre><big>log.get_serial_number_sent s:n Returns the serial number (sent) field contents.</big></pre> <pre><big>log.get_exchange s:n Returns the contest exchange field contents.</big></pre> <pre><big>log.set_exchange n:s Sets the contest exchange field contents.</big></pre> <pre><big>log.get_state s:n Returns the State field contents.</big></pre> <pre><big>log.get_province s:n Returns the Province field contents.</big></pre> <pre><big>log.get_country s:n Returns the Country field contents.</big></pre> <pre><big>log.get_qth s:n Returns the QTH field contents.</big></pre> <pre><big>log.get_band s:n Returns the current band name.</big></pre> <pre><big>log.get_sideband s:n Returns the current sideband.</big></pre> <pre><big>log.get_notes s:n Returns the Notes field contents.</big></pre> <pre><big>log.get_locator s:n Returns the Locator field contents.</big></pre> <pre><big>log.get_az s:n Returns the AZ field contents.</big></pre> <pre><big>log.clear n:n Clears the contents of the log fields.</big></pre> <pre><big>log.set_call n:s Sets the Call field contents.</big></pre> <pre><big>log.set_name n:s Sets the Name field contents.</big></pre> <pre><big>text.get_rx_length i:n Returns the number of characters in the RX widget.</big></pre> <pre><big>text.get_rx 6:ii Returns a range of characters (start, length) from the RX text widget.</big></pre> <pre><big>text.clear_rx n:n Clears the RX text widget.</big></pre> <pre><big>text.add_tx n:s Adds a string to the TX text widget.</big></pre> <pre><big>text.add_tx_bytes n:6 Adds a byte string to the TX text widget.</big></pre> <pre><big>text.clear_tx n:n Clears the TX text widget.</big></pre> <pre><big>spot.get_auto b:n Returns the autospotter state.</big></pre> <pre><big>spot.set_auto n:b Sets the autospotter state. Returns the old state.</big></pre> <pre><big>spot.toggle_auto n:b Toggles the autospotter state. Returns the new state.</big></pre> <pre><big>spot.pskrep.get_count i:n Returns the number of callsigns spotted in the current session.</big></pre> 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:<br> <br> <img style="width: 901px; height: 207px;" alt="" src="images/UI-minimized.png"><br> <br> The documentation for the external control program will provide additional information if this user interface is desired.<br> <br><div style="text-align: center;"><a href="index.html">Contents</a><br></div></body></html>