From ee13d46aaec68183f1f5ae017e2e830a7c46d031 Mon Sep 17 00:00:00 2001 From: James Peroulas Date: Mon, 27 Feb 2017 04:59:12 +0000 Subject: [PATCH] Corrected documentation. --- BUILD | 20 -------------------- README | 36 +++++++++++++++++++++++++----------- wspr.cpp | 6 +++--- 3 files changed, 28 insertions(+), 34 deletions(-) delete mode 100644 BUILD diff --git a/BUILD b/BUILD deleted file mode 100644 index 1b39a51..0000000 --- a/BUILD +++ /dev/null @@ -1,20 +0,0 @@ -Install required packages: - sudo apt-get install git g++ make grep mawk ntp - -Make sure you are using the latest kernel by updating your system. The latest -kernel includes fixes wich improve NTP ppm measurement accuracy: - sudo apt-get update - sudo apt-get dist-upgrade - -Get code/ compile: - rm -rf WsprryPi - git clone https://github.com/JamesP6000/WsprryPi.git - cd WsprryPi - make - -Install to /usr/local/bin: - sudo make install - -Uninstall: - sudo make uninstall - diff --git a/README b/README index c3390fa..ec1ccdd 100644 --- a/README +++ b/README @@ -9,18 +9,17 @@ Compatible with the original Raspberry Pi and the Raspberry Pi 2/3. ****** Installation / update: ****** - Make sure you are using the latest kernel by updating your system. The latest - kernel includes fixes wich improve NTP ppm measurement accuracy: - sudo apt-get update - sudo apt-get dist-upgrade - Download and compile code: sudo apt-get install git git clone https://github.com/JamesP6000/WsprryPi.git cd WsprryPi make - See the accompanying BUILD file for more details. + Install to /usr/local/bin: + sudo make install + + Uninstall: + sudo make uninstall ****** Usage: (WSPR --help output): @@ -36,8 +35,10 @@ Usage: (WSPR --help output): -p --ppm ppm Known PPM correction to 19.2MHz RPi nominal crystal frequency. -s --self-calibration - Call ntp_adjtime() before every transmission to obtain the PPM error of - the crystal. + Check NTP before every transmission to obtain the PPM error of the + crystal (default setting!). + -f --free-running + Do not use NTP to correct frequency error of RPi crystal. -r --repeat Repeatedly, and in order, transmit on all the specified command line freqs. @@ -102,6 +103,11 @@ Radio licensing / RF: of isolation, e.g. by using a RF transformer, a simple buffer/driver/PA stage, two schottky small signal diodes back to back. + TAPR makes a very nice shield for the Raspberry Pi that is pre-assembled, + performs the appropriate filtering for the 20m band, and also increases + the power output to 20dBm! Just connect your antenna and you're good-to-go! + https://www.tapr.org/kits_20M-wspr-pi.html + ****** TX Timing: ****** @@ -132,6 +138,10 @@ Calibration: Pi has been on for a long time, the crystal's temperature has stabilized, and the NTP control loop has converged. + As of 2017-02, NTP calibration is enabled by default and produces a + frequency error of about 0.1 PPM after the Pi has temperature stabilized + and the NTP loop has converged. + AM calibration: A practical way to calibrate is to tune the transmitter on the same frequency of a medium wave AM broadcast station; keep tuning until zero beat (the @@ -170,7 +180,10 @@ Example usage: Using callsign N9NNN, locator EM10, and TX power 33 dBm, transmit a single WSPR transmission on the 20m band using NTP based frequency offset calibration. - sudo ./wspr --self-calibration N9NNN EM10 33 20m + sudo ./wspr N9NNN EM10 33 20m + + The same as above, but without NTP calibration: + sudo ./wspr --free-running N9NNN EM10 33 20m Transmit a WSPR transmission slightly off-center on 30m every 10 minutes for a total of 7 transmissions, and using a fixed PPM correction value. @@ -178,7 +191,7 @@ Example usage: Transmit repeatedly on 40m, use NTP based frequency offset calibration, and add a random frequency offset to each transmission to minimize collisions - with other transmissions. + with other transmitters. sudo ./wspr --repeat --offset --self-calibration N9NNN EM10 33 40m ****** @@ -215,7 +228,8 @@ Credits: Michael Tatarinov for adding a patch to get PPM info directly from the kernel. - Retzler András (HA7ILM) added support for the RPi2/3. + Retzler András (HA7ILM) for the massive changes that were required to + incorporate the mailbox code so that the RPi2 and RPi3 could be supported. [1] PiFM code from http://www.icrobotics.co.uk/wiki/index.php/Turning_the_Raspberry_Pi_Into_an_FM_Transmitter diff --git a/wspr.cpp b/wspr.cpp index d2143b8..600248a 100644 --- a/wspr.cpp +++ b/wspr.cpp @@ -1,5 +1,5 @@ -// WSPR transmitter for the Raspberry Pi. See accompanying README and BUILD -// files for descriptions on how to use this code. +// WSPR transmitter for the Raspberry Pi. See accompanying README +// file for a description on how to use this code. // License: // This program is free software: you can redistribute it and/or modify @@ -732,7 +732,7 @@ void print_usage() { std::cout << " for testing only." << std::endl; std::cout << std::endl; std::cout << "Frequencies can be specified either as an absolute TX carrier frequency, or" << std::endl; - std::cout << "using one of the following std::strings. If a std::string is used, the transmission" << std::endl; + std::cout << "using one of the following strings. If a string is used, the transmission" << std::endl; std::cout << "will happen in the middle of the WSPR region of the selected band." << std::endl; std::cout << " LF LF-15 MF MF-15 160m 160m-15 80m 60m 40m 30m 20m 17m 15m 12m 10m 6m 4m 2m" << std::endl; std::cout << "-15 indicates the WSPR-15 region of band ." << std::endl;