46 lines
1.2 KiB
C
46 lines
1.2 KiB
C
|
#ifndef __WSPR_H__
|
||
|
#define __WSPR_H__ __WSPR_H__
|
||
|
|
||
|
|
||
|
#include <stdint.h>
|
||
|
|
||
|
#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
|