Kenta Saito / Mbed 2 deprecated Flageo01

Dependencies:   mbed

Files at this revision

API Documentation at this revision

Comitter:
kentasaito
Date:
Thu Jan 05 12:19:42 2012 +0000
Commit message:

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
diff -r 000000000000 -r 3ba7ee31812f main.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Thu Jan 05 12:19:42 2012 +0000
@@ -0,0 +1,68 @@
+#include <mbed.h>
+#include <math.h>
+#define M_2PI 6.28318530717959
+#define FS 20000
+#define WAVE 0
+#define POLY 4
+Serial serial(USBTX, USBRX);
+Ticker ticker;
+AnalogOut analogOut(p18);
+int count;
+float as[POLY];
+int fs[POLY];
+int n;
+
+int a = 0x8000;
+float b = 1.0;
+float c = 1;
+
+void sample()
+{
+    int value = 0;
+
+    for (int i = 0; i < POLY; i++) {
+        value += as[i] * (fs[i] * count % FS) / FS;
+        if (as[i] > 0) {
+            as[i] -= b;
+            if (as[i] < 0) as[i] = 0;
+        } else {
+            as[i] = 0;
+        }
+    }
+    analogOut.write_u16(value);
+    count++;
+}
+
+int main()
+{
+    int freqs[256];
+    freqs[ 49] = 704; freqs[ 50] = 640; freqs[ 51] = 576; freqs[ 52] = 512; freqs[ 53] = 448; freqs[ 54] = 384;
+        freqs[ 55] = 320; freqs[ 56] = 256; freqs[ 57] = 192; freqs[ 48] = 128; freqs[ 45] =  64;
+      freqs[113] = 528; freqs[119] = 480; freqs[101] = 432; freqs[114] = 384; freqs[116] = 336; freqs[121] = 288;
+          freqs[117] = 240; freqs[105] = 192; freqs[111] = 144; freqs[112] =  96; freqs[ 91] =  48;
+        freqs[ 97] = 396; freqs[115] = 360; freqs[100] = 324; freqs[102] = 288; freqs[103] = 252; freqs[104] = 216;
+            freqs[106] = 180; freqs[107] = 144; freqs[108] = 108; freqs[ 59] =  72; freqs[ 39] =  36;
+          freqs[122] = 297; freqs[120] = 270; freqs[ 99] = 243; freqs[118] = 216; freqs[ 98] = 189; freqs[110] = 162;
+              freqs[109] = 135; freqs[ 44] = 108; freqs[ 46] =  81; freqs[ 47] =  54; freqs[ 32] =  27;
+    serial.printf("\033[2J");
+    ticker.attach_us(&sample, 1000 * 1000 / FS);
+    while (int i = serial.getc()) {
+        if (i == 27) {
+            serial.getc(); serial.getc(); i = serial.getc() - 48; serial.getc();
+            if (i == 1) a >>= 1;
+            if (i == 2) a <<= 1;
+            if (i == 3) b *= 1.2;
+            if (i == 4) b /= 1.2;
+            if (i == 5) c = 0;
+            if (i == 7) c = 1;
+            serial.printf("i = %d; a = %05X; b = %f\r\n", i, a, b);
+            continue;
+        }
+        as[n] = a;
+        fs[n] = freqs[i] * 2;
+        serial.printf("%d:%d\r\n", i, freqs[i]);
+        if (c) n = (n + 1) % POLY;
+    }
+    ticker.detach();
+    analogOut.write_u16(0);
+}
diff -r 000000000000 -r 3ba7ee31812f mbed.bld
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Thu Jan 05 12:19:42 2012 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed/builds/078e4b97a13e