Skip to content

0x9900/FT8Commander

Repository files navigation

FT8Commander

This is an experimental piece of code. Don't forget to run git pull often. This code only works with the version of WSJT-X 2.5 and above.

WSJT-X FT8 Automation

FT8Commander is an experimental project for ham radio operators who want automatic control of their FT8 contacts. This program controls WSJT-X to optimize contacts' chances during a contest or DX (make as many QSO as possible). After a receive sequence, the program uses information such as the SNR1 and the distance of the calling stations to calculate which one has the most chances of completing the QSO.

Usage:

  1. Install the DXEntity package pip install DXEntity
  2. If you receive an error ModuleNotFoundError: No module named 'yaml', it can be resolved by installing the pyyaml package: pip install pyyaml
  3. Start WSJT-X
  4. In a terminal or powershell Go to the directory FT8Commander
  5. Copy the ft8ctrl.yaml.sample into ft8ctrl.yaml
  6. Edit the configuration file and enter your information
  7. Start the Python program:
  • On Linux or MacOS type ./ft8ctrl.py
  • On Windows, in command mode or powershell type python .\ft8ctl.py
  1. Watch WSJT-X making contacts.

This program runs on MacOS and Linux.

Misc

Logging

The following AppleScript example will automatically click on the Logging window. ** Note: Another application might steal the focus from the logging window, and the OK button might not be pressed on time. **

tell application "wsjtx" to activate say "w s j t x is active" tell application "System Events" repeat try tell application process "WSJT-X" set winList to every window end tell repeat with win in winList tell application "System Events" get entire contents of win end tell set theTitle to name of win if theTitle contains "Log QSO" then tell application process "WSJT-X"	click button "Ok" of group 1 of win say "Logged" end tell end if end repeat on error errMsg number errorNumber log errMsg say "Error" end try delay 3 end repeat end tell

Calling CQ

The following AppleScript calls CQ and logs any contact.
Courtesy of my friend JC (W6IPA)

The original version can be found on gist.

set bundleId to "org.k1jt.wsjtx" tell application id bundleId to activate tell application "System Events" repeat tell application process "WSJT-X" set winList to every window set frontmost to true end tell repeat with win in winList set theTitle to name of win if theTitle contains "Log QSO" then tell application process "WSJT-X"	click button "Ok" of group 1 of win end tell say "Contact Logged" else if theTitle starts with "WSJT-X" and theTitle does not contain "Wide Graph" then tell application process "WSJT-X" set chkBox to value of checkbox "Enable Tx" of win as boolean end tell if not chkBox then delay 30	perform action "AXRaise" of win tell application process "WSJT-X"	click button "Set Rx frequency to Tx Frequency" of group 1 of win end tell say "Calling CQ" tell application "System Events" to key code 122 end if end if delay 1 end repeat delay 5 end repeat end tell

Footnotes

  1. Signal To Noise Ratio

About

QSO Automation for WSJT

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors