forked from LuckfoxTECH/luckfox-pico
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Initial Commit * Si5351 driver working * Base WSPR solution * WSPR works * Cleanup * Re-enable SPI --------- Co-authored-by: Alistair Jordan <alistairjordan>
- Loading branch information
1 parent
746d845
commit 5b2e45b
Showing
12 changed files
with
594 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
# WSPR Design | ||
|
||
## Introduction | ||
|
||
WSPR is a stands for Weak Signal Propogation Reporter, more information can be found at [https://www.sigidwiki.com/wiki/WSPR]https://www.sigidwiki.com/wiki/WSPR | ||
|
||
WSPR is designed to be able to report incredibly weak signals, and has various base points for detection around the world. This allows communication at an extremely slow speed for location data to provide telemetry. This can be seen on WSPRNet. | ||
|
||
[http://www.wsprnet.org/drupal/WSPRnet/map]WSPRNet | ||
|
||
For use the protocol requires an amateur radio license. For this project, I have aquired one for use of WSPRNet, however anyone using this project will need to aquire a license for themselves in order to use this technology. | ||
|
||
## Base Design | ||
|
||
### Code | ||
|
||
The project is based on [https://github.com/alexf91/WSPR-Beacon/]alexf91/WSPR-Beacon however has been completely rewritten. | ||
|
||
The initial code was designed for an Arduino based solution with a USB interface. The re-write here disregards the code apart from the WSPR encoding library. | ||
|
||
A special mention here is [https://github.com/threeme3/WsprryPi]threeme3/WsprryPi. I's not used in this project, but was vastly helpful for design purposes. | ||
|
||
### Electronics | ||
|
||
The WSPR part of the project requires an oscillator to function at around 14MHz. | ||
|
||
For this it was chosen to use the si5351, for the good community support, and the ease of the i2c interface. | ||
|
||
Technically, it a low pass filter should be added, but given the harmonics of a square wave and the transmission power, for this indiviual use case, I would consider unnecessary. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
|
||
#ifeq ($(SYSDRV_PARAM), ) | ||
WSPR_PARAM:=../../../Makefile.param | ||
include $(WSPR_PARAM) | ||
#endif | ||
|
||
export LC_ALL=C | ||
SHELL:=/bin/bash | ||
|
||
CURRENT_DIR := $(shell pwd) | ||
PKG_NAME := wspr | ||
PKG_BIN := out | ||
|
||
all: | ||
@test -f $(PKG_BIN)/usr/sbin/$(PKG_NAME)_noexist || (\ | ||
mkdir -p $(CURRENT_DIR)/$(PKG_BIN)/usr/sbin; \ | ||
$(SYSDRV_CROSS)-gcc -g main.c wspr.c -o $(CURRENT_DIR)/$(PKG_BIN)/usr/sbin/$(PKG_NAME); \ | ||
) | ||
$(call MAROC_COPY_PKG_TO_SYSDRV_OUTPUT, $(SYSDRV_DIR_OUT_ROOTFS), $(PKG_BIN)) | ||
# $(MAKE) ARCH=$(ARCH) CROSS_COMPILE=$(CROSS_COMPILE) -C $(KERNEL_DIR) M=$(shell pwd) $@ -j12 | ||
|
||
clean: distclean | ||
|
||
distclean: | ||
-rm -rf $(PKG_NAME) $(PKG_BIN) | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
# WSPR Transmission Code | ||
|
||
This code is designed to transmit WSPR tones and is a largely rewritten version of: | ||
https://github.com/alexf91/WSPR-Beacon/ | ||
|
||
The code directly interfaces with the clock sources through the unix filesystem. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
/* | ||
* Copyright 2018 Alexander Fasching | ||
* | ||
* This program is free software: you can redistribute it and/or modify | ||
* it under the terms of the GNU General Public License as published by | ||
* the Free Software Foundation, either version 3 of the License, or | ||
* (at your option) any later version. | ||
* | ||
* This program is distributed in the hope that it will be useful, | ||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
* GNU General Public License for more details. | ||
* | ||
* You should have received a copy of the GNU General Public License | ||
* along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
*/ | ||
|
||
#ifndef DEBUG_H | ||
#define DEBUG_H | ||
|
||
#include <stdio.h> | ||
#include <stdarg.h> | ||
|
||
static inline void debug(const char *format, ...) { | ||
#ifdef DEBUG | ||
va_list args; | ||
va_start(args, format); | ||
vprintf(format, args); | ||
#endif | ||
} | ||
|
||
#endif /* DEBUG_H */ |
Oops, something went wrong.