テスト

Dependencies:   C12832 USBHost mbed MMA7660 wave_player

Fork of app-board-Speaker by Ryohei Funakoshi

Revision:
17:9e07a9ff6e91
Parent:
16:12f30425ba88
Child:
18:3a7e3401ada3
--- a/main.cpp	Tue Dec 13 09:17:26 2016 +0000
+++ b/main.cpp	Tue Dec 13 09:50:15 2016 +0000
@@ -2,16 +2,20 @@
 
 #define mC 261.626
 #define mD 293.665
+#define mEb 311.13
 #define mE 329.628
 #define mF 349.228
+#define mGb 369.99
 #define mG 391.995
+#define mAb 415.3
 #define mA 440.000
+#define mBb 466.16
 #define mB 493.883
 #define THRESH 80
 #define COUNT_MAX 15
 #define DIM 3
 #define NUM_OF_NOTES 21
-#define NUM_OF_SCALE 2
+#define NUM_OF_SCALE 5
 
 #include "C12832.h"
 #include "mbed.h"
@@ -19,6 +23,9 @@
 #include "MMA7660.h"
 #include "USBHostMSD.h"
 #include "wave_player.h"
+#include <string>
+
+using namespace std;
 
 C12832 lcd(p5, p7, p6, p8, p11);
 DigitalIn fire(p14);
@@ -60,13 +67,20 @@
 float mm[]={mC,mD,mE,mF,mG,mA,mB,mC*2,mD*2,mE*2,mF*2,mG*2,mA*2,mB*2,mC*4};
 
 float mmm[]={mC,mD,mE,mF,mG,mA,mB,mC*2,mD*2,mE*2,mF*2,mG*2,mA*2,mB*2,mC*4, mD*4,mE*4,mF*4,mG*4,mA*4,mB*4};//has 21
-float notes[NUM_OF_SCALE][NUM_OF_NOTES] = {  {mC,mD,mE,mF,mG,mA,mB,mC*2,mD*2,mE*2,mF*2,mG*2,mA*2,mB*2,mC*4, mD*4,mE*4,mF*4,mG*4,mA*4,mB*4},
-                                          {mC,mC,mC,mC,mC,mC,mC,mC,mC,mC,mF*2,mG*2,mA*2,mB*2,mC*4, mD*4,mE*4,mF*4,mG*4,mA*4,mB*4}};
+float notes[NUM_OF_SCALE][NUM_OF_NOTES] = {  {mC,mD,mE,mF,mG,mA,mB,mC*2,mD*2,mE*2,mF*2,mG*2,mA*2,mB*2,mC*4, mD*4,mE*4,mF*4,mG*4,mA*4,mB*4},             //major
+                                             {mC,mD,mEb,mF,mG,mA,mBb,mC*2,mD*2,mEb*2,mF*2,mG*2,mA*2,mBb*2,mC*4, mD*4,mEb*4,mF*4,mG*4,mA*4,mBb*4},       //Dorian
+                                             {mC,mD,mEb,mF,mG,mAb,mBb,mC*2,mD*2,mEb*2,mF*2,mG*2,mAb*2,mBb*2,mC*4, mD*4,mEb*4,mF*4,mG*4,mAb*4,mBb*4},    //natural minor 
+                                             {mC,mEb,mF,mGb,mG,mBb,mC*2,mEb*2,mF*2,mGb*2,mG*2,mBb*2,mC*4,mEb*4,mF*4,mGb*4,mG*4,mBb*4,mC*8,mEb*8,mF*8},  //blues
+                                             {mC,mE,mF,mG,mB,mC*2,mE*2,mF*2,mG*2,mB*2,mC*4,mE*4,mF*4,mG*4,mB*4,mC*8,mE*8,mF*8,mG*8,mB*8,mC*16}};        //Okinawa
+                                             
+string names[] = {"Major", "Dorian", "Minor", "Blues", "Okinawa"};
+
 void printlcd(void)
 {
+        lcd.cls();
         stdio_mutex.lock();
         lcd.locate(10,10);
-        lcd.printf("scale %d", scale);
+        lcd.printf("scale %s", names[scale]);
         printflag=false;
         stdio_mutex.unlock();
 }
@@ -119,8 +133,8 @@
         {
             scale++;
         }
+        printflag=true;
     }
-    printflag=true;
     for_chat.reset();
 }