PyFMT is a Python wrapper for the FMT Suite by Joe Taylor, (K1JT). The program suite was originally bundeled with the WSPR Package. Its primary use if for Rig Calibration and the ARRL Frequency Measurement Test
All of the core elements are now functional. The pyfmt
script provides the following:
pyfmt.ini
and fmt.ini
filesEach of the utility programs and shell scritp files in the FMT package performs a single function ( excerpts from FMT User Guide ):
gocal Shell file, must be edited to your specific needs. Executes program fmtest for a number of specified frequency-calibration stations. Output will accumulate in file fmt.all
.
fmtest Sets the dial frequency of a CAT-controlled radio and performs a sequence of measurements of the strongest resulting audio tone near a specified offset frequency. Input parameters are taken from the command line, and output goes to files fmt.out
and fmt.all
. The latter file is cumulative.
fmtave Averages data found in a specified file having the format of fmt.all. Output goes to file fmtave.out
.
fcal Calculates a best-fit straight line for a data saved in fmtave.out
. Results are saved in file fcal.out
.
fmeasure Calculates the properly calibrated frequency of each test signal found in file fmtave.out
. Results are saved in file fmeasure.out
, and these are the numbers you should report if you are entering the Frequency Measuring Test.
The following packages are required at the system level:
System
Note
On some systems ( Ubuntu, Debian and Linux Mint ), it is required to install libjack-jackd2-dev
before installing portaudio19-dev
. The following proess has been reported to work by users of JTSDK for Nix:
sudo apt-get install libjack-jackd2-dev sudo apt-get install portautio19-dev
There may be other system using the Jack subsystem. Care should be taken when installing manually. The Launchpad version of PyFMT ( when released ) will use a Pre-Depends section to deal with this situaiton.
Python2 Modules
The folloiwing packages are for system that have Python2 as the default Python installaiton. To test which version of Python you have, in a termainl, type:
python --version
If yout have 2.7.0 thru 2.7.x
the following packages apply to that system
Python3 Systems
For systems with Python3 as their default, the following packages should be installed:
Check out the code from the WSJT Sourceforge Project
* svn co https://svn.code.sf.net/p/wsjt/wsjt/branches/fmt * cd ./fmt * ./autogen.sh * make * sudo make install
Note
If your system does not have libhamlib-utiuls installed, you must pass a location of rigctl
, otherwise, the configure script will present an error message. The example below shows this method when compiled with JTSDK for Nix.
./autogen.sh --with-rigctl="/home/<usr-name>/jtsdk/hamlib3/bin/rigctl"
The rigctl
path must include the actual name of the file, for example, if your are using the binary built from JTSDK for Nix, your path would look similar to this:
# Always add the file name # Always use single quotes, and **do not** use variables that expand, like $HOME or $USER # ./autogen.sh --with-rigctl='/home/ki7mt/jtsdk/hamlib3/bin/rigctl'
To uninstall PyFMT, ferform the following tasks in a terminal
cd ./fmt # location of the checkout sudo make uninstall # run the invocation make distclean # clean the source tree
There is an FMT USer Guide available from the WSJT main site.
Additionally, within the install directory you will find the gocal
file. Edit this as needed for your local stations.
Before running any of the FMT Tools, users should run pyfmt
then select option (1) to configure Stations Parameters. there are two option you can pass to pyfmt
pyfmt -n NAME -p PATH
pyfmt -n NAME
specifics the profile to use in setting up Station Parameters. for example, using pyfmt -n ts2000
would create an instance for the Kenwood TS-2000, with all files and ini files being located in:
/home/user-name/.local/share/ts2000
This configuratoin allows for running many different rig / port combinations, which allows running multiple radios at the same time. The contests of the folder, after a full run with PyFMT would look similar to:
├── fcal.out ├── fcal.plt ├── fmt.all ├── fmtave.out ├── fmt.ini ├── fmt.out ├── pyfmt.ini ├── gocal ├── hamlib_rig_numbers └── pyfmtrc.nix
Note
If the the rig selection and comport settings are correct, you will be presented with an info box stating so. The pyfmt.ini
and fmt.ini
files are written after a successful CAT connection made by saving your paramerter.
After successful rig control setup, follow the FMT User Guide to perform the calibration test.