test

Dependencies:   mbed KondoServoLibrary Encoder

Revision:
18:f7c587f0f8b8
Parent:
17:348c660ea6f6
Child:
19:510b87211851
--- a/User.cpp	Wed Sep 11 07:33:59 2019 +0000
+++ b/User.cpp	Fri Nov 01 01:39:57 2019 +0000
@@ -3,15 +3,18 @@
 #include "hci.h"
 #include "ps3.h"
 #include "User.h"
-
+#define speed 0.2
 #include "mbed.h"
 
 int RSX,RSY,LSX,LSY,BSU,BSL;
 //これより下に関数外に書く要素を記入する
-PwmOut servo(p21); //check survo pin
+DigitalOut air(p24);
+PwmOut motorRB(p22);
+PwmOut motorRF(p21);
+PwmOut motorLB(p25);
+PwmOut motorLF(p26);
 SPI spi(p5,p6,p7);
 DigitalOut cs(p8);
-int Speed_Mode = 2 ;
 int send;
 
 
@@ -19,11 +22,13 @@
 {
     spi.format(8,3);
     spi.frequency(1000000);
-    servo.pulsewidth_us(1450);
+    motorRF.period_ms(1);
+    motorRB.period_ms(1);
+    motorLF.period_ms(1);
+    motorLB.period_ms(1);
 }
 void UserLoop(char n,const u8* data)
 {
-    printf("start");
     u16 ButtonState;
     if(n==0) { //有線Ps3USB.cpp
         RSX = ((ps3report*)data)->RightStickX;
@@ -47,48 +52,66 @@
     //ここより下にプログラムを書く
     //spi通信用プログラム
     send = 0;
-    if((ButtonState >> BUTTONUP)&1 == 1&&(ButtonState >> BUTTONL1)&1 == 1)//UPL1
-    {
-        send = 84;
-    }else if ((ButtonState >> BUTTONDOWN)&1 == 1&&(ButtonState >> BUTTONR1)&1 == 1)//DownR1
-    {
-        send = 168;
-    }else if ((ButtonState >> BUTTONUP)&1 == 1&&(ButtonState >> BUTTONR1)&1 == 1)//UPR1
-    {
-        send = 148;
-    }else if ((ButtonState >> BUTTONDOWN)&1 == 1&&(ButtonState >> BUTTONL1)&1 == 1)//DownL1
-    {
-        send = 104;
-    }else if((ButtonState >> BUTTONUP)&1 == 1) 
+    if((ButtonState >> BUTTONUP)&1 == 1) 
     {//対応するボタンを書く(今回上ボタン
-        send = 20;
+        motorRF = 0.2;
+        motorRB = 0;
+        motorLF = 0.2;
+        motorLB = 0;
+        send = 0;
     }else if((ButtonState >> BUTTONDOWN)&1 == 1) 
     {//対応するボタンを書く(今回下ボタン
-        send = 40;
+        motorRF = 0;
+        motorRB = 0.2;
+        motorLF = 0;
+        motorLB = 0.2;
+        send = 0;
     }else if((ButtonState >> BUTTONL1)&1 == 1) 
     {//対応するボタンを書く(今回L1ボタン
-        send = 100;
+        motorRF = 0.2;
+        motorRB = 0;
+        motorLF = 0;
+        motorLB = 0.2;
+        send = 0;
     }else if((ButtonState >> BUTTONR1)&1 == 1) 
     {//対応するボタンを書く(今回R1ボタン
-        send = 152;
+        send = 0;
+        motorRF = 0;
+        motorRB = 0.2;
+        motorLF = 0.2;
+        motorLB = 0;
+    }else if((ButtonState >> BUTTONRIGHT)&1 == 1)//Right
+    {
+        send = 4;
+        motorRF = 0;
+        motorRB = 0.2;
+        motorLF = 0.2;
+        motorLB = 0;
+    }else if((ButtonState >> BUTTONLEFT)&1 == 1)//Left
+    {
+        send = 3;
+        motorRF = 0.2;
+        motorRB = 0;
+        motorLF = 0;
+        motorLB = 0.2;
     }else{
         send = 0;
+        motorRF = 0;
+        motorRB = 0;
+        motorLF = 0;
+        motorLB = 0;
     }
-    if((ButtonState >> BUTTONL2)&1 == 1&&Speed_Mode>1) {//対応するボタンを書く(今回L2ボタン
-        Speed_Mode-=1;
-        wait(0.1);
-    }else if((ButtonState >> BUTTONR2)&1 == 1&&Speed_Mode<3) {//対応するボタンを書く(今回R2ボタン
-        Speed_Mode+=1;
-        wait(0.1);
-    }else{
-        break;
+    if((ButtonState >> BUTTONCIRCLE)&1 == 1) {//対応するボタンを書く(今回Oボタン
+        air=1;
+    } else if((ButtonState >> BUTTONCROSS)&1 == 1) {//対応するボタンを書く(今回×ボタン
+        air=0;
     }
-    if((ButtonState >> BUTTONTRIANGEL)&1 == 1) {//対応するボタンを書く(今回△ボタン
-        servo.pulsewidth_us(1450);
-    } else if((ButtonState >> BUTTONCROSS)&1 == 1) {//対応するボタンを書く(今回×ボタン
-        servo.pulsewidth_us(2400);
+    if((ButtonState >> BUTTONR2&1) == 1 )//R2 down
+    {
+        send = 1;
+    }else if((ButtonState >> BUTTONL2)&1 == 1)//L2 up
+    {
+        send = 2;
     }
-    send += Speed_Mode;
     spi. write(send);
-    printf("%a\r\n",send);
 }
\ No newline at end of file