AppMonitor : Start and stop the FLDIGI application

TBD

class pyfldigi.appmonitor.ApplicationMonitor(hostname='127.0.0.1', port=7362)[source]

Bases: object

Responsible for launching, monitoring, and terminating the FLDIGI application process, using subprocess.Popen()

Parameters:
  • hostname (str (path to folder)) – The FLDIGI XML-RPC server’s IP address or hostname (usually localhost / 127.0.0.1)
  • port (int) – The port in which FLDIGI’s XML-RPC server is listening on.

Note

Commandline arguments can be found on the following links:

is_running()[source]

Uses the python subprocess module object to see if FLDIGI is still running.

Warning

If the AppMonitor did not start FLDIGI, then this function will not return True. The method only works if FLDIGI was launched using start().

Returns:Returns whether or not the FLDIGI application is running
Return type:bool
kill()[source]

Kills fldigi.

Warning

Please try and use stop() before doing this to shut down fldigi gracefully. Consider kill() the last resort.

Example:
>>> import pyfldigi
>>> app = pyfldigi.ApplicationMonitor()
>>> app.start()
>>> time.sleep(10)  # wait a bit
>>> app.kill()  # kill the process
start(headless=False, wfall_only=False)[source]

Start fldigi in the background

Parameters:
  • headless (bool) – if True, starts the FLDIGI application in headless mode (POSIX only! Doesn’t work in Windows)
  • wfall_only (bool) – If True, start FLDIGI in ‘waterfall-only’ mode. (POSIX only! Doesn’t work in Windows)
Example:
>>> import pyfldigi
>>> c = pyfldigi.Client()
>>> app = pyfldigi.ApplicationMonitor(headless=True)
>>> app.start()
>>> # At this point, fldigi should be running in headless mode.
>>> c.modem.name  # Ask FLDIGI which modem it's currently using
'CW'
stop(save_options=True, save_log=True, save_macros=True, force=True)[source]

Attempts to gracefully shut down fldigi. Returns the error code.

Example:
>>> import pyfldigi
>>> app = pyfldigi.ApplicationMonitor()
>>> app.start()
>>> time.sleep(10)  # wait a bit
>>> app.stop()