summaryrefslogtreecommitdiffstats
path: root/signal.c
diff options
context:
space:
mode:
Diffstat (limited to 'signal.c')
-rw-r--r--signal.c34
1 files changed, 34 insertions, 0 deletions
diff --git a/signal.c b/signal.c
new file mode 100644
index 0000000..3e7319d
--- /dev/null
+++ b/signal.c
@@ -0,0 +1,34 @@
+#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;
+
+ zero[i] = 32000 * sin (t);
+ }
+
+}
+
+void signal_send_bp (int b)
+{
+ if (b)
+ audio_play (one, sizeof (one));
+ else
+ audio_play (zero, sizeof (zero));
+}
+