Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 10 additions & 17 deletions README → README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Raspberry Pi bareback LF/MF/HF/VHF WSPR transmitter
# Raspberry Pi bareback LF/MF/HF/VHF WSPR transmitter

Makes a very simple WSPR beacon from your RasberryPi by connecting GPIO
port to Antenna (and LPF), operates on LF, MF, HF and VHF bands from
Expand All @@ -7,22 +7,22 @@ port to Antenna (and LPF), operates on LF, MF, HF and VHF bands from
Compatible with the original Raspberry Pi, the Raspberry Pi 2/3, and
the Pi Zero.

!!!!!!
2017-04-21
Do note that some users have been reporting lockups with recent OS versions.
I have not been able to reproduce the problems on my RPI1 and RPI3 running
the latest Jessie-Lite.
https://github.com/JamesP6000/WsprryPi/issues/6#issuecomment-296233932
!!!!!!
This version uses https://github.com/F5OEO/librpitx
**You need to add gpu_freq=250 in /boot/config.txt. Without that transmiting is unstable"**


******
Installation / update:
******
Download and compile code:
sudo apt-get install git
git clone https://github.com/JamesP6000/WsprryPi.git
git clone https://github.com/F5OEO/WsprryPi.git
cd WsprryPi
git clone https://github.com/F5OEO/librpitx.git
cd librpitx/src
make
cd ../../
make

Install to /usr/local/bin:
sudo make install
Expand Down Expand Up @@ -176,14 +176,6 @@ Calibration:
set correction by specifying --test-tone 780000 --ppm <ppm> on the command
line and confirming that the Pi is still zero beating the AM station.

******
PWM Peripheral:
******
The code uses the RPi PWM peripheral to time the frequency transitions
of the output clock. This peripheral is also used by the RPi sound system
and hence any sound events that occur during a WSPR transmission will
interfere with WSPR transmissions. Sound can be permanently disabled
by editing /etc/modules and commenting out the snd-bcm2835 device.

******
Example usage:
Expand Down Expand Up @@ -248,6 +240,7 @@ Credits:
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.

Evariste COURJAUD F5OEO : adapt to use librpitx and simplify code
[1] PiFM code from
http://www.icrobotics.co.uk/wiki/index.php/Turning_the_Raspberry_Pi_Into_an_FM_Transmitter
[2] Original WSPR Pi transmitter code by Dan:
Expand Down
19 changes: 5 additions & 14 deletions makefile
Original file line number Diff line number Diff line change
@@ -1,28 +1,19 @@
prefix=/usr/local

CFLAGS += -Wall
CXXFLAGS += -D_GLIBCXX_DEBUG -std=c++11 -Wall -Werror -fmax-errors=5
CFLAGS += -Wall -Wno-unused-variable
CXXFLAGS += -Wall -Wall -Wno-unused-variable -std=c++11
LDLIBS += -lm

ifeq ($(findstring armv6,$(shell uname -m)),armv6)
# Broadcom BCM2835 SoC with 700 MHz 32-bit ARM 1176JZF-S (ARMv6 arch)
PI_VERSION = -DRPI1
else
# Broadcom BCM2836 SoC with 900 MHz 32-bit quad-core ARM Cortex-A7 (ARMv7 arch)
# Broadcom BCM2837 SoC with 1.2 GHz 64-bit quad-core ARM Cortex-A53 (ARMv8 arch)
PI_VERSION = -DRPI23
endif


all: wspr gpioclk

mailbox.o: mailbox.c mailbox.h
$(CC) $(CFLAGS) -c mailbox.c

wspr: mailbox.o wspr.cpp mailbox.h
$(CXX) $(CXXFLAGS) $(LDFLAGS) $(LDLIBS) $(PI_VERSION) mailbox.o wspr.cpp -owspr
$(CXX) $(CXXFLAGS) $(LDFLAGS) $(LDLIBS) wspr.cpp librpitx/src/librpitx.a -owspr

gpioclk: gpioclk.cpp
$(CXX) $(CXXFLAGS) $(LDFLAGS) $(LDLIBS) $(PI_VERSION) gpioclk.cpp -ogpioclk
$(CXX) $(CXXFLAGS) $(LDFLAGS) $(LDLIBS) gpioclk.cpp -ogpioclk

clean:
$(RM) *.o gpioclk wspr
Expand Down
Loading