summaryrefslogtreecommitdiffstats
path: root/signal.c
blob: 77e727014f7ca7cb6b1dbd01dbde60e679c2f2bb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include "project.h"


#define SPP (SAMPLE_RATE/10)

static int16_t zero[SPP];
static int16_t one[SPP];


void signal_init (void)
{
  unsigned i;
  double t;

  bzero (one, sizeof (one));

  for (i = 0; i < SPP; ++i) {

    t = (1.0 / (double) SAMPLE_RATE) * (double) i;
    t *= CARRIER * 2.0 * M_PI;

#if 0
    zero[i] = 32000 * sin (t);
#else

    if (sin (t) < 0)
      zero[i] = -32000;
    else
      zero[i] = 32000;

#endif
  }

}

void signal_send_bp (int b)
{
  if (b)
    audio_play (one, sizeof (one));
  else
    audio_play (zero, sizeof (zero));
}