Using at Craft Club

Dependencies:   FatFileSystem mbed

Revision:
1:f0b59bec1d9b
diff -r 606b230e5b4a -r f0b59bec1d9b Output.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Output.cpp	Tue Jan 27 17:06:52 2015 +0000
@@ -0,0 +1,155 @@
+#include "mbed.h"
+
+//各キー格納用
+int Key_A = 0;
+int Key_B = 0;
+int Key_Up = 0;
+int Key_Down = 0;
+int Key_Left = 0;
+int Key_Right = 0;
+
+int Key_1 = 0;
+int Key_2 = 0;
+
+int Key_Home = 0;
+int Key_Plus = 0;
+int Key_Minus = 0;
+
+//テスト用
+DigitalOut led1(LED1);
+DigitalOut led2(LED2);
+DigitalOut led3(LED3);
+DigitalOut led4(LED4);
+
+//PWM出力用
+PwmOut pwm1(p21);   
+PwmOut pwm2(p22);
+PwmOut pwm3(p23);
+PwmOut pwm4(p24);
+PwmOut pwm5(p25);
+PwmOut pwm6(p26);
+
+void setup ()// 最初の処理
+{
+    pwm1.period(0.010);     //PWMの周期指定 10[ms]に指定
+    pwm2.period(0.010);
+    pwm3.period(0.010);
+    pwm4.period(0.010);
+    pwm5.period(0.010);
+    pwm6.period(0.010);
+}
+
+void Button(int pad){
+    
+    //HomeKeyの感知
+    if (pad >= 0x8000){
+        Key_Home = 1;
+        pad -= 0x8000;
+    }
+    else{
+        Key_Home = 0;
+    }
+    
+    //マイナスKeyの感知
+    if (pad >= 0x1000){
+        Key_Minus = 1;
+        pad -= 0x1000;
+    }
+    else{
+        Key_Minus =0;
+    }
+    
+    //AKeyの感知
+    if (pad >= 0x0800){
+        Key_A = 1;
+        pad -= 0x0800;
+    }
+    else{
+        Key_A =0;
+    }
+    
+    //BKeyの感知
+    if (pad >= 0x0400){
+        Key_B = 1;
+        pad -= 0x0400;
+    }
+    else{
+        Key_B =0;
+    }
+    
+    //1Keyの感知
+    if (pad >= 0x0200){
+        Key_1 = 1;
+        pad -= 0x0200;
+    }
+    else{
+        Key_1 =0;
+    }
+    
+    //2Keyの感知
+    if (pad >= 0x0100){
+        Key_2 = 1;
+        pad -= 0x0100;
+    }
+    else{
+        Key_2 =0;
+    }
+    
+    //PlusKeyの感知
+    if (pad >= 0x0010){
+        Key_Plus = 1;
+        pad -= 0x0010;
+    }
+    else{
+        Key_Plus =0;
+    }
+    
+    //UpKeyの感知
+    if (pad >= 0x0008){
+        Key_Up = 1;
+        pad -= 0x0008;
+    }
+    else{
+        Key_Up =0;
+    }
+    
+    //DownKeyの感知
+    if (pad >= 0x0004){
+        Key_Down = 1;
+        pad -= 0x0004;
+    }
+    else{
+        Key_Down =0;
+    }
+    
+    //RightKeyの感知
+    if (pad >= 0x0002){
+        Key_Right = 1;
+        pad -= 0x0002;
+    }
+    else{
+        Key_Right =0;
+    }
+    
+    //LeftKeyの感知
+    if (pad >= 0x0001){
+        Key_Left = 1;
+        pad -= 0x0001;
+    }
+    else{
+        Key_Left =0;
+    }
+}
+
+ void PWM_Control(int pad,int x,int y,int z)
+{
+    Button(pad);
+    
+    if (Key_A == 1){
+        pwm1 = 0.5;
+        pwm4 = 0.5;
+    }
+    //デバッグ表示用
+    //printf("A %d B %d + %d - %d U %d D %d L %d R %d 1 %d 2 %d \n",Key_A,Key_B,Key_Plus,Key_Minus,Key_Up,Key_Down,Key_Left,Key_Right,Key_1,Key_2);
+    //printf("WII %04X %d %d %d\n",pad,x,y,z);
+}
\ No newline at end of file