Loading ...
Sorry, an error occurred while loading the content.

Re: [linuxham] Interfacing with fldigi and a couple of future enhancement requests

Expand Messages
  • Stelios Bounanos
    Hi Iain, ... Fldigi has an IPC interface that is used by flarq and pskmail on Linux. The Other Platform uses file-based I/O rather than POSIX message queues.
    Message 1 of 3 , Jun 11, 2008
    • 0 Attachment
      Hi Iain,

      >>>>> On Wed, 11 Jun 2008 12:18:04 -0000, "g7iii" <g7iii@...> said:

      > Hey Folks,
      > I see a number of utilities interfacing with fldigi (pskmail, flarg,
      > fllog, psykviewer, pskscope etc). Some use fldigi just as a pure
      > MODEM. How do they all do this ? Is there an API Somewhere ? I
      > couldn't find anything

      Fldigi has an IPC interface that is used by flarq and pskmail on Linux.
      The Other Platform uses file-based I/O rather than POSIX message queues.

      The next version will have two additional interfaces:

      1) An EXEC macro that runs external programs. Information is passed to
      those programs safely via environment variables. At the moment we pass
      all the log fields text, as well as the operator's callsign, name and
      locator, rig dial frequency and modem name and audio frequency.

      Fldigi can wait for the process to finish and then enter its output
      into the transmit text buffer. It can also parse that output for more

      So not really an interface, but it may be all you need for custom
      logging or sending data to DX clusters etc; amazing what you can do
      with a Perl script these days ;-) The downside is that macros
      must be triggered manually, though the psk viewer could be made to
      call some macro automatically when the search string is found.

      2) A simple XML-RPC interface. When activated, fldigi starts an embedded
      http server and listens for requests on the loopback interface (it can
      also be told to sit on an interface with a routable IP address so that
      it can be accessed across the net). Concurrent connections are allowed,
      though requests are really only served one at a time.

      Fldigi remains responsive to mouse/keyboard events or, put another way,
      you still need an X server connection. (A "fake" X server such as xvfb
      can be used to alleviate that).

      The interface itself is not set in stone right now, but it will be
      able to do at least the following:

      * Fetch all the log field contents
      * Get/set/toggle the afc, sql, rev etc. controls and levels
      * Get/set frequency, modem audio carrier, active modem
      * Transmit/receive/tune
      * Return some modem signal quality indicators
      * Retrieve text from the RX text widget, add text to the TX widget

      HTTP/XML-RPC clients can be written in just about any language. I have
      been writing an "fldigi-shell" control script in Perl that may be in
      good enough shape for general use by the time 3.0 is relased...

      > I'm kind of half thinking about writing a couple of "add-ons" myself -
      > propnet comes to mind, along with maybe some PSK APRS related extras.

      If there is some facility that you'd like to see in the EXEC mechanism
      or XML-RPC interface, please let me know and I'll try to implement it.

      > I've tried to look thru sources (esp pskmail), but I must be missing
      > the interfacing code. Also Googled for "interfacing with fldigi", but
      > that came up with mainly interfacing fldigi with hamlib!

      Yes, this is all the interfacing documentation that exists atm.

      > Thanks in Advance for any hints

      > Iain

      > PS, A couple of things I'd love to see in the next version of fldigi,
      > for when the developers get the coding bug again (Since I know they
      > are taking a well deserved break right now)

      A what? :-)

      > a) BPS 400 support (Both FEC and non FEC), for the future HEO birds
      > (P3E, Eagle, etc. KA9Q did a prototype encoder/decoder iirc

      > b) Jack (http://www.jackaudio.org) support.

      Fldigi 2.x already supports JACK via the PortAudio backend. I have used
      it with various JACK applications, including a couple of SDR programs
      with a softrock RXTXv6.1 kit that I built last year. JACK audio I/O
      works but can be a little flaky, especially with a slow CPU or really
      bad sound cards.

      Stelios, M0GLD.
    Your message has been successfully submitted and would be delivered to recipients shortly.