qrss-ei: Software to transmit QRSS CW signals
Introduction
What is QRSS CW?
Very slow Morse code. In normal Morse code, the beginner's slow speed is 60 cpm (characters per minute), which is the same as 12 wpm (words per minute). At that speed, the fundamental unit, the "dot length", is 100 ms. In QRSS, the dot length is much longer, commonly 3 seconds or more. In other words, QRSS is Morse code with a speed of 2 cpm = 0.4 wpm or less.
Normal CW is on-off-keying. QRSS is commonly sent as frequency-shift-keying, with the "key engaged" frequency typically being 5 Hz above the "key released" frequency.
Finally, typical QRSS receiving software assumes that the QRSS transmission is repeated a few times, once every 10 minutes, preferably with exactly the same timing as 10 minutes earlier. This is used to "integrate" several transmissions, so the information can be fished out of the noise better.
QRSS is also very much a QRP mode. Typical transceivers put out a few 100 mW or so, some even less.
The waterholes for people interested in this mode seems to be
- To read up on it: Scott Harden + Andy resources
- To meet others doing it (and read up some more): QRSS Knights mailing list
What is this project?
This software enables me to transmit QRSS signals.
Management summary: This is a programm that talks to rigctld from the well-known hamlib software package. The rig should be set to RTTY mode, which will cause a carrier to be sent whenever PTT is pressed. Alternatively, some other such mode can be tried (AM and FM would work as well).
No actual characters are ever emitted to be sent via RTTY. Also, this uses the "data" variety of "PTT", and as no data comes in, AM and FM should also send a bare, unmodulated carrier.
On each frequency shift, the PTT is briefly released, the frequency shifted 5 Hz up or down, and the PTT again pressed. I'm not sure whether this is needed. I fancy it reduces bandwidth occupied. Not sure.
This software is strictly a command-line utility. It needs only plain Python without any modules that need compilation. It does make use of the morse2sound software by the same author, which has the code to convert text into Morse code characters. But morse2sound is plain Python as well.
What do I use to receive QRSS CW?
This software does not help you to receive QRSS CW. To do that, I presently use Lopora.
Installation hints on Lopora:
The Lopora instructions address unconventional installation targets. On my plain Python installation on my plain Linux Debian Laptop, I found I just needed an active virtual environment with this pre-installation:
pip install numpy pillow pyaudio
On my Debian Linux Trixie box, I'm using "pipewire" as the "audio device for input". I then set the input device actually used via the standard Gnome configuration. This basically ties up audio while Lopora is used.
Installation of qrss_ei
The following steps should give you an executable script qrss_ei
intended to be run in a terminal. To actually send QRSS, you will
also need to run
rigctld from the
well-known hamlib software package to
actually connect to your rig. qrss_ei has no code to connect to your
radio, it only knows to connect to rigctld.
For further instructions, see the output qrss_ei -h gives you.
Plain Python
- Construct a plain Python virtual environment
- activate it
pip install qrss-ei
uv
If you use the uv Python dependency manager:
- Construct a uv virtual environment with
uv venv - activate it
uv pip install qrss-ei
The name
Has two sections: The "qrss" part stands for what you can transmit with this, the "ei" part is derived from the suffix of my, the author's, radio amateur call sign DJ3EI.
I do not seem to be able to make up my mind whether to separate the
two with - or _, so the Python project and the repo have -, but
the Python package and the script have _.
Metadata
Release files for qrss-ei 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| qrss_ei-0.2.0.tar.gz | 15.0 kB | Without provenance | Details for qrss_ei-0.2.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| qrss_ei-0.2.0-py3-none-any.whl | Python 3 | none | any | Details for qrss_ei-0.2.0-py3-none-any.whl |
Total release size: 24.8 kB
Release files / qrss_ei-0.2.0.tar.gz
| Download URL | qrss_ei-0.2.0.tar.gz |
|---|---|
| Size | 15.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c1002d0fde30b943b8ac47017cbb914569cf893d3b86ded87df4a24f2f5f9bf2
|
|
BLAKE2b-256 checksum How to use checksums |
e2583d979184949c679fb335881401f95359e371b96995e7c6b47039f4d786ef
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.13
|
Release files / qrss_ei-0.2.0-py3-none-any.whl
| Download URL | qrss_ei-0.2.0-py3-none-any.whl |
|---|---|
| Size | 9.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d92c1dd389ace368b2d51196c5d91f50e4d6a2d7274a0a34ed851414c33062e3
|
|
BLAKE2b-256 checksum How to use checksums |
2d7f4d6df70e534d2c64ccfaaee74f598bd546118ca3b52da9c987d11282f196
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.13
|
Security for qrss-ei 0.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.