|
|
|
|
@ -265,55 +265,10 @@ int main(int argc, char *argv[]) {
|
|
|
|
|
printf("Looping %d times \n", loop);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (mode == FSK) {
|
|
|
|
|
bitRate = 200;
|
|
|
|
|
rsFrames = 1;
|
|
|
|
|
payloads = 1;
|
|
|
|
|
rsFrameLen = 64;
|
|
|
|
|
headerLen = 6;
|
|
|
|
|
dataLen = 58;
|
|
|
|
|
syncBits = 10;
|
|
|
|
|
syncWord = 0b0011111010;
|
|
|
|
|
parityLen = 32;
|
|
|
|
|
frameCnt = 3;
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
bitRate = 1200;
|
|
|
|
|
rsFrames = 3;
|
|
|
|
|
payloads = 6;
|
|
|
|
|
rsFrameLen = 159;
|
|
|
|
|
headerLen = 8;
|
|
|
|
|
dataLen = 78;
|
|
|
|
|
syncBits = 31;
|
|
|
|
|
syncWord = 0b1000111110011010010000101011101;
|
|
|
|
|
parityLen = 32;
|
|
|
|
|
frameCnt = 3;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
samples = S_RATE/bitRate;
|
|
|
|
|
bufLen = (frameCnt * (syncBits + 10 * (headerLen + rsFrames * (rsFrameLen + parityLen))) * samples);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
wiringPiSetup ();
|
|
|
|
|
pinMode (0, OUTPUT);
|
|
|
|
|
digitalWrite (0, HIGH);
|
|
|
|
|
|
|
|
|
|
if (mode == FSK)
|
|
|
|
|
{
|
|
|
|
|
amplitude = 32767/3;
|
|
|
|
|
printf("\n FSK Mode, %d bits per frame, %d bits per second, %d seconds per frame\n\n",
|
|
|
|
|
// BUF_LEN/(SAMPLES * FRAME_CNT), BIT_RATE, BUF_LEN/(SAMPLES * FRAME_CNT * BIT_RATE));
|
|
|
|
|
bufLen/(samples * frameCnt), bitRate, bufLen/(samples * frameCnt * bitRate));
|
|
|
|
|
}
|
|
|
|
|
else // BPSK
|
|
|
|
|
{
|
|
|
|
|
amplitude = 32767;
|
|
|
|
|
printf("\n BPSK Mode, %d bits per frame, %d bits per second, %d seconds per frame\n\n",
|
|
|
|
|
// BUF_LEN/(SAMPLES * FRAME_CNT), BIT_RATE, BUF_LEN/(SAMPLES * FRAME_CNT * BIT_RATE));
|
|
|
|
|
bufLen/(samples * frameCnt), bitRate, bufLen/(samples * frameCnt * bitRate));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//setSpiChannel(SPI_CHANNEL);
|
|
|
|
|
//setSpiSpeed(SPI_SPEED);
|
|
|
|
|
//initializeSpi();
|
|
|
|
|
@ -367,6 +322,43 @@ int main(int argc, char *argv[]) {
|
|
|
|
|
|
|
|
|
|
mode = (mode++) % 3;
|
|
|
|
|
|
|
|
|
|
if (mode == FSK) {
|
|
|
|
|
bitRate = 200;
|
|
|
|
|
rsFrames = 1;
|
|
|
|
|
payloads = 1;
|
|
|
|
|
rsFrameLen = 64;
|
|
|
|
|
headerLen = 6;
|
|
|
|
|
dataLen = 58;
|
|
|
|
|
syncBits = 10;
|
|
|
|
|
syncWord = 0b0011111010;
|
|
|
|
|
parityLen = 32;
|
|
|
|
|
frameCnt = 3;
|
|
|
|
|
amplitude = 32767/3;
|
|
|
|
|
printf("\n FSK Mode, %d bits per frame, %d bits per second, %d seconds per frame\n\n",
|
|
|
|
|
bufLen/(samples * frameCnt), bitRate, bufLen/(samples * frameCnt * bitRate));
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
bitRate = 1200;
|
|
|
|
|
rsFrames = 3;
|
|
|
|
|
payloads = 6;
|
|
|
|
|
rsFrameLen = 159;
|
|
|
|
|
headerLen = 8;
|
|
|
|
|
dataLen = 78;
|
|
|
|
|
syncBits = 31;
|
|
|
|
|
syncWord = 0b1000111110011010010000101011101;
|
|
|
|
|
parityLen = 32;
|
|
|
|
|
frameCnt = 3;
|
|
|
|
|
amplitude = 32767;
|
|
|
|
|
printf("\n BPSK Mode, %d bits per frame, %d bits per second, %d seconds per frame\n\n",
|
|
|
|
|
bufLen/(samples * frameCnt), bitRate, bufLen/(samples * frameCnt * bitRate));
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
samples = S_RATE/bitRate;
|
|
|
|
|
bufLen = (frameCnt * (syncBits + 10 * (headerLen + rsFrames * (rsFrameLen + parityLen))) * samples);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// sleep(1); // Delay 1 second
|
|
|
|
|
ctr = 0;
|
|
|
|
|
#ifdef DEBUG_LOGGING
|
|
|
|
|
|