Demo Day SSL using 3 microphones and KL25z
Dependencies: Multi_WS2811_Mic FastAnalogIn USBDevice mbed
Diff: main.cpp
- Revision:
- 1:56a68eaa1129
- Parent:
- 0:5cb897285e00
--- a/main.cpp Sat Nov 22 18:55:28 2014 +0000 +++ b/main.cpp Tue Dec 09 23:42:29 2014 +0000 @@ -1,27 +1,146 @@ #include "mbed.h" #include "FastAnalogIn.h" -#include "USBSerial.h" +#include "WS2811.h" +#include "Colors.h" + +unsigned const nLEDs = 30;//MAX_LEDS_PER_STRIP; +unsigned const DATA_OUT_PIN1 = 7; // PTC7 + +FastAnalogIn mic0(A0, 0); +FastAnalogIn mic1(A1, 0); +FastAnalogIn mic2(A2, 0); +Serial pc(USBTX, USBRX); + +DigitalOut ledR(LED_RED); +DigitalOut ledG(LED_GREEN); +DigitalOut ledB(LED_BLUE); -FastAnalogIn mic0(A2, 0); -FastAnalogIn mic1(A3, 0); -Serial pc(USBTX, USBRX); +static void showSolidColor(WS2811 &strip, uint8_t r, uint8_t g, uint8_t b) +{ + unsigned nLEDs = strip.numPixels(); + for (unsigned i = 0; i < nLEDs; i++) { + strip.setPixelColor(i, r, g, b); + } + strip.show(); +} + +static void clearScreen(WS2811 &strip) +{ + unsigned nLEDs = strip.numPixels(); + for (unsigned i = 0; i < nLEDs; i++) { + strip.setPixelColor(i, 0, 0, 0); + } + strip.show(); +} int main(void) { uint16_t i = 0; - float buff0[1000]; - float buff1[1000]; - pc.baud(115200); - + uint16_t buff0[500]; + uint16_t buff1[500]; + uint16_t buff2[500]; + char pc_read = 0; + pc.baud(921600); + ledR = ledG = ledB = 1; + WS2811 lightStrip1(nLEDs, DATA_OUT_PIN1); + lightStrip1.begin(); + while (true){ - for(i = 0; i < 500; i++){ -// buff0[i] = (mic0.read()); -// buff1[i] = (mic1.read()); - pc.printf("%0.3f,%0.3f\n", (mic0.read()), (mic1.read())); + pc_read = 0; + for(i = 0; i < 251; i++){ + buff0[i] = int(1000*mic0.read()); + buff1[i] = int(1000*mic1.read()); + buff2[i] = int(1000*mic2.read()); + } + for(i = 0; i < 251; i++){ + pc.printf("%d,%d,%d\n", buff0[i], buff1[i], buff2[i]); + } + + while(pc_read != 'Y'){ + while(!pc.readable()); + pc_read = pc.getc(); + switch(pc_read){ + case 'Y': + pc.printf("Go\n"); + break; + + case 'R': + ledR = 0; + ledG = 1; + ledB = 1; + break; + + case 'G': + ledR = 1; + ledG = 0; + ledB = 1; + break; + case 'B': + ledR = 1; + ledG = 1; + ledB = 0; + break; + + case '1': + clearScreen(lightStrip1); + lightStrip1.setPixelColor(0, ledR*100, ledG*100, ledB*100); + lightStrip1.setPixelColor(1, ledR*100, ledG*100, ledB*100); + lightStrip1.setPixelColor(2, ledR*100, ledG*100, ledB*100); + lightStrip1.setPixelColor(3, ledR*100, ledG*100, ledB*100); + lightStrip1.setPixelColor(4, ledR*100, ledG*100, ledB*100); + break; + + case '2': + clearScreen(lightStrip1); + lightStrip1.setPixelColor(5, ledR*100, ledG*100, ledB*100); + lightStrip1.setPixelColor(6, ledR*100, ledG*100, ledB*100); + lightStrip1.setPixelColor(7, ledR*100, ledG*100, ledB*100); + lightStrip1.setPixelColor(8, ledR*100, ledG*100, ledB*100); + lightStrip1.setPixelColor(9, ledR*100, ledG*100, ledB*100); + break; + + case '3': + clearScreen(lightStrip1); + lightStrip1.setPixelColor(10, ledR*100, ledG*100, ledB*100); + lightStrip1.setPixelColor(11, ledR*100, ledG*100, ledB*100); + lightStrip1.setPixelColor(12, ledR*100, ledG*100, ledB*100); + lightStrip1.setPixelColor(13, ledR*100, ledG*100, ledB*100); + lightStrip1.setPixelColor(14, ledR*100, ledG*100, ledB*100); + break; + + case '4': + clearScreen(lightStrip1); + lightStrip1.setPixelColor(15, ledR*100, ledG*100, ledB*100); + lightStrip1.setPixelColor(16, ledR*100, ledG*100, ledB*100); + lightStrip1.setPixelColor(17, ledR*100, ledG*100, ledB*100); + lightStrip1.setPixelColor(18, ledR*100, ledG*100, ledB*100); + lightStrip1.setPixelColor(19, ledR*100, ledG*100, ledB*100); + break; + + case '5': + clearScreen(lightStrip1); + lightStrip1.setPixelColor(20, ledR*100, ledG*100, ledB*100); + lightStrip1.setPixelColor(21, ledR*100, ledG*100, ledB*100); + lightStrip1.setPixelColor(22, ledR*100, ledG*100, ledB*100); + lightStrip1.setPixelColor(23, ledR*100, ledG*100, ledB*100); + lightStrip1.setPixelColor(24, ledR*100, ledG*100, ledB*100); + break; + + case '6': + clearScreen(lightStrip1); + lightStrip1.setPixelColor(25, ledR*100, ledG*100, ledB*100); + lightStrip1.setPixelColor(26, ledR*100, ledG*100, ledB*100); + lightStrip1.setPixelColor(27, ledR*100, ledG*100, ledB*100); + lightStrip1.setPixelColor(28, ledR*100, ledG*100, ledB*100); + lightStrip1.setPixelColor(29, ledR*100, ledG*100, ledB*100); + break; + + default: + break; + + } + lightStrip1.show(); + WS2811::startDMA(); } -// for(i = 0; i < 500; i++){ -// pc.printf("%.3f,%.3f\n", (buff0[i]), (buff1[i])); -// } - } } \ No newline at end of file