Skip to content
/ cwsim Public

Cross-platform amateur radio WPX CW contest simulator written in python, based on Morse Runner.

License

Notifications You must be signed in to change notification settings

w9cf/cwsim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CW Simulator

This is the source repository for a CW contest simulator written in python, based on and mostly a clone of Morse Runner by Alex, VE3NEA. Therefore it is a derivative work of Morse Runner Copyright 2004-2006, Alex Shovkoplyas, VE3NEA ve3nea@dxatlas.com. The Morse Runner source is distributed under the Mozilla Public License, v. 2.0. You can download it here.

No Morse Runner files are used directly in this project, but most algorithms are identical, and often functions are straightforward translations of the Morse Runner Delphi code into python. I used the GNU GPL version of Qt and Qt Designer for my GUI code, so the cwsim code is licensed under GNU GPL version 3.0, to be consistent with that license.

The code runs on Linux, Mac OS, and Windows, and probably any other platform that supports python, Qt, and portaudio.

Windows Users

If you are running Microsoft Windows, and do not wish to install python and the requirements, as described below, a windows executable file is available under the Releases tag on Github. This file is automatically built by github runners on release. It just uses Pyinstall to gather the python components below and package them into an exe file. Download and run the executable.

Windows users can also install and run python directly as described below.

Installation

You just need to satisfy the requirements in requirements.txt or requirements_qt5.txt (sounddevice uses portaudio). One way is to use pip and requirements:

Steps

  • Install python version 3.8 or later.

  • The following steps should be done in a terminal (or powershell on Windows)

  • Clone this archive:

    git clone https://github.com/w9cf/cwsim

  • Change to the cwsim directory:

    cd cwsim

  • Install requirements

    pip install -r requirements.txt --user

    alternatively, to use the older Qt5 version instead of the current Qt6,

    pip install -r requirements_qt5.txt --user

  • Run the program with:

    python python/cwsim.py

Alternative for Raspberry Pi 4B

I normally run Slackware on my PI 4B. The installation just uses sbopkg and slackbuilds.com to add the needed packages. I did test with the 2022-04-04 64bit Raspberry Pi operating system. Here are the commands I used to install the needed packages:

git clone https://github.com/w9cf/cwsim.git
sudo apt-get install python3-matplotlib
sudo apt-get install python3-pyqt5
sudo apt-get install libportaudio2
pip install pip --upgrade --user
python3 -m pip install numpy==1.23 --user
python3 -m pip install sounddevice --user
python3 -m pip install pyxdg --user

Then

cd cwsim/python
python3 cwsim.py

Note! Make sure the numpy version is >= 1.22, otherwise a numpy.accumulate bug in older versions will crash the program unless QSK is turned off. This bug was fixed in numpy 1.22. The python3 -m pip install numpy==1.23 --user command above will install numpy 1.23 locally.

About

Cross-platform amateur radio WPX CW contest simulator written in python, based on Morse Runner.

Topics

Resources

License

Stars

Watchers

Forks