#ifndef __WSPR_H__ #define __WSPR_H__ __WSPR_H__ #include #include "si5351.h" // For PLL with 800MHz static const struct si5351_params WSPR_SYMBOLS[4] = { // 7040100.000000: 113 + 44687 / 70401 // actual: 7040100.000000 {14033, 17455, 70401}, // 7040101.464844: 113 + 447801 / 705503 // actual: 7040101.464844 {14033, 172785, 705503}, // 7040102.929688: 113 + 38515 / 60682 // actual: 7040102.929688 {14033, 14678, 60682}, // 7040104.394531: 113 + 123233 / 194166 // actual: 7040104.394531 {14033, 46378, 194166}, }; static const uint8_t WSPR_LENGTH = 162; static const uint16_t WSPR_PERIOD = 683; // DL1SSK at JN39we static uint8_t default_wspr_msg[162] = { 1, 1, 0, 0, 2, 0, 0, 2, 1, 0, 0, 0, 1, 3, 3, 2, 2, 2, 3, 2, 0, 1, 0, 3, 1, 1, 1, 0, 2, 2, 0, 2, 2, 0, 3, 0, 0, 1, 0, 3, 2, 0, 0, 0, 0, 0, 3, 0, 1, 1, 0, 0, 3, 1, 2, 1, 0, 2, 2, 3, 1, 2, 1, 2, 2, 2, 2, 3, 3, 2, 1, 2, 1, 2, 1, 2, 3, 2, 0, 3, 2, 0, 1, 0, 3, 3, 0, 2, 2, 1, 1, 2, 1, 0, 1, 0, 2, 0, 1, 2, 2, 2, 0, 0, 3, 2, 2, 3, 0, 0, 1, 3, 3, 2, 3, 3, 0, 2, 3, 1, 2, 1, 0, 2, 2, 3, 3, 3, 0, 2, 2, 0, 2, 1, 2, 1, 2, 0, 1, 3, 0, 0, 0, 0, 0, 2, 0, 3, 1, 0, 1, 2, 3, 1, 2, 2, 2, 1, 1, 0, 0, 2 }; void wspr_transmit(enum si5351_multisynth synth, uint8_t *msg); #endif