Welcome to QUISK (February 2014)

This is Quisk, a Software Defined Radio (SDR). You supply an antenna, a complex (I/Q) mixer to convert radio spectrum to a low IF, and send that IF to the left and right inputs of the sound card in your computer. The Quisk software will read the sound card data, tune it, filter it, demodulate it, and send the audio to headphones or speakers. Quisk has a microphone input and a key input so it can operate as a complete transceiver. Quisk works with this hardware:

Quisk is small and simple, and has been designed so that it is easy to change Quisk to suit your own hardware. Quisk rhymes with "brisk", and is QSK plus a few letters to make it easier to pronounce. QSK is a Q signal meaning full breakin CW operation, and Quisk has been designed for low latency. Quisk includes an input keying signal that can mute the audio and substitute a sidetone.

Please read the file CHANGELOG.txt for changes.

When running Quisk for the first time, please press the "Help" button on the lower right.

Credits

Quisk was originally written by James Ahlstrom, N2ADR.

Thanks to Leigh L. Klotz, Jr. WA5ZNU for configuration improvements, factoring out my eccentric hardware control, and adding panadapter and other hardware support.

Thanks to Franco Spinelli for a fix for the H101 hardware.

Thanks to Andrew Nilsson VK6JBL for adding support for SoftRock Rx and Tx.

Thanks to Terry Fox, WB4JFI, for code to support the Charleston hardware.

Thanks to Maitland Bottoms, AA4HS, for the sub-module linkage patches.

Thanks to Philip G. Lee for adding native support for PulseAudio.

Many others contributed to Quisk, and are mentioned in comments in the source code.

Installation


Quisk is registered on http://pypi.python.org; just search for "quisk" to see the latest version and the download URL. The download page is http://james.ahlstrom.name/quisk/index.html. There will be a source distribution (a tar.gz file) and a binary Windows version (msi installer). The Linux version is for 32-bit Linux. If you get the message "wrong ELF class", you have 64-bit Linux, and you must recompile (use "make"). You do not need to compile the Windows binary, but you need Python to run it.

You must have Python installed on your computer, preferably version 2.7. Linux almost certainly has Python installed. For Windows, visit http://www.python.org and download the Windows installer for Python 2.7 to install it. You must also install the latest wxPython package for your version of Python from http://www.wxpython.org.

Linux

I recommend that you just uncompress and un-tar the tar.gz file somewhere under your home directory:

gunzip quisk-3.4.4.tar.gz
tar xf quisk-3.4.4.tar
# Check directory quisk-3.4.4 before removing the tar file
rm quisk-3.4.4.tar
# Perhaps change to a shorter name unless you want multiple versions
mv quisk-3.4.4 quisk

That way all the source for Quisk is available so you can change or add to Quisk. If you need to recompile the source, use the "make" command in the quisk directory. If there are compile errors or missing *.h files, you must install some "dev" packages. See below for needed "dev" packages.

Run Quisk using a terminal with the command "python quisk.py". If there is any error output, it will appear on the terminal. After testing, you can create a panel launcher with the same command but a full path, for example "python /home/jim/quisk-3.4.4/quisk.py" or "python /home/jim/quisk/quisk.py" if you used the shorter name . Then just click the button to run Quisk.

Another way to install Quisk is to change to the superuser (root) and run "easy_install quisk" or "python setup.py install". If you don't have easy_install, install the python-setuptools package (for Debian/Ubuntu). This method installs Quisk as a package. But you need to be root, and the source is not in a convenient place; it is in /usr/lib/python2.7/site-packages. And there is no uninstall feature.

Quisk needs a few additional packages to run. All should be available as packages or RPM's so you don't have to compile the source. Generally you would get the most recent versions rather than the versions I show below. Needed packages are:


If you want to attach a key status line to your computer, you need to change is_key_down.c and run "make". I currently use Ethernet to send key up/down status. I previously sent a 5 volt CMOS signal to my parallel port, but new computers often lack a parallel port, and Ethernet is much easier.

If you decide to use the parallel port, you need the ppdev Linux driver. To load it on boot, add it to /etc/modules (on Debian). The permissions on the port (on Debian) are 660, group "lp". So add yourself to the "lp" group. Otherwise you will have to run "modprobe ppdev", and run "chmod 666 /dev/parport0" as root to access the parallel port.

Quisk does not use the serial port, but some of the special hardware files do. If you need Python serial port support, install pyserial from package python-serial. Note that many programs use USB, but are based on a USB to serial converter, and pyserial works with these too.

Windows Installer

To install Quisk, first install Python and wxPython (see above). Next download the quisk.msi installer, right click it, and select "install". This is best for those who plan to run Quisk, but not work with the source code. To uninstall Quisk, use the Control Panel item Add/Remove Programs. Quisk is installed in the site-packages folder under the Python 2.7 libraries. This enables Quisk to be imported as a package by other software.

Windows Source

If you want to see and change the source code, or recompile the Windows version from source, download the source tarball (the tar.gz file), uncompress it and extract it into a directory somewhere. This is the same as the Linux install proceedure. I use the directory C:/pub/quisk because I synchronize this directory using SpiderOak on multiple computers. You should probably choose a directory under C:/Users/my_name with Windows 7, or perhaps a directory under the Documents folder. You can then run Quisk with the command "C:\python27\pythonw.exe quisk.py" from the Quisk directory, the directory where quisk.py is located. You can create a shortcut on the desktop with this command. There is no need to recompile unless you change the C language source, as the needed DLLs are included. You can change any of the Python *.py files, and there is no need to recompile.

To recompile the DLL, install the MinGw compiler and the same dependencies as the Linux version, and enter "make win". If you get errors, look for missing *.h files from missing dependencies.

Quisk Files


These are the Quisk files in the distribution:

Configuration

Quisk does not have a menu to control its operating parameters. Instead, you must create and edit your own configuration file. For Linux, the default configuration file name is ".quisk_conf.py" in your home directory; that is, "~/.quisk_conf.py". For Windows, the default configuration file name is quisk_conf.py in your My Documents folder.
To help you get started, there are several configuration files included, such as quisk_conf_model.py for sound card, quisk_conf_sdriq.py for SDR-IQ, and quisk_conf_fixed.py for fixed VFO such as SoftRock. Do not change any of the quisk_conf_*.py files. Instead copy one of these files (but NOT quisk_conf_defaults.py) to your own config file. Newer versions of Quisk will not overwrite your personal config file.

The file quisk_conf_defaults.py contains all Quisk's parameters. It is read in first; then your config file is read in and overwrites some parameters. Do not copy quisk_conf_defaults.py to your config file. It is too long and is subject to change with each new version. Instead, read it to see what you can change, and then just put the lines that need changing into your config file.

If you are controlling custom hardware, you will nee