春ロボ ロケット団 / Mbed 2 deprecated spring_ps3

Dependencies:   mbed

Files at this revision

API Documentation at this revision

Comitter:
o2132613
Date:
Mon Mar 02 07:39:54 2020 +0000
Parent:
19:4058485b5bb3
Commit message:
ver.1 for spring; check pin of CAN;

Changed in this revision

User.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/User.cpp	Thu Oct 31 06:16:05 2019 +0000
+++ b/User.cpp	Mon Mar 02 07:39:54 2020 +0000
@@ -7,18 +7,14 @@
 #include "math.h"
 
 int RSX,RSY,LSX,LSY,BSU,BSL;
-PwmOut servo(p21); //check survo pin
-SPI spi(p5,p6,p7);
 DigitalOut cs(p8);
-int Speed_Mode = 2 ;
-int send;
+int move,shoot,speed;
+Can controller(,);//CANpin_name
 
 
 void UserLoopSetting()
 {
-    spi.format(8,3);
-    spi.frequency(1000000);
-    servo.pulsewidth_us(1450);
+
 }
 void UserLoop(char n,const u8* data)
 {
@@ -43,47 +39,69 @@
         ButtonState =  ((ps3report*)(data + 1))->ButtonState;
     }
     //ここより下にプログラムを書く
-    //spi通信用プログラム
-    send = 0;
+    //CAN通信用プログラム
+    move = controller_move();
+    shoot = controller_shoot();
+    speed = controller_speed();
+    controller.write(CANMessage(1,move,1);
+    controller.write(CANMessage(2,shoot,1);
+    controller.write(CANMessgae(3,speed,1);
+}
+
+int controller_move(){
     if((ButtonState >> BUTTONUP)&1 == 1&&(ButtonState >> BUTTONL1)&1 == 1)//UPL1
     {
-        send = 84;
+       return 9;
     }else if ((ButtonState >> BUTTONDOWN)&1 == 1&&(ButtonState >> BUTTONR1)&1 == 1)//DownR1
     {
-        send = 168;
+        return 3;
     }else if ((ButtonState >> BUTTONUP)&1 == 1&&(ButtonState >> BUTTONR1)&1 == 1)//UPR1
     {
-        send = 148;
+        return 7;
     }else if ((ButtonState >> BUTTONDOWN)&1 == 1&&(ButtonState >> BUTTONL1)&1 == 1)//DownL1
     {
-        send = 104;
-    }else if((ButtonState >> BUTTONUP)&1 == 1) 
-    {//対応するボタンを書く(今回上ボタン
-        send = 20;
-    }else if((ButtonState >> BUTTONDOWN)&1 == 1) 
-    {//対応するボタンを書く(今回下ボタン
-        send = 40;
-    }else if((ButtonState >> BUTTONL1)&1 == 1) 
-    {//対応するボタンを書く(今回L1ボタン
-        send = 100;
-    }else if((ButtonState >> BUTTONR1)&1 == 1) 
-    {//対応するボタンを書く(今回R1ボタン
-        send = 152;
+        return 1;
+    }else if((ButtonState >> BUTTONUP)&1 == 1) //up
+    {
+        return 8;
+    }else if((ButtonState >> BUTTONDOWN)&1 == 1)//down
+    {
+        return 2;
+    }else if((ButtonState >> BUTTONRIGHT)&1 == 1)//right
+    {
+        return 6;
+    }else if((ButtonState >> BUTTONLEFT)&1 == 1)//left
+    {
+        return 4;
+    }else if((ButtonState >> BUTTONL1)&1 == 1) //L1
+    {
+        return 10;
+    }else if((ButtonState >> BUTTONR1)&1 == 1) //R1
+    {
+        return 11;
     }else{
-        send = 0;
+        return 0;
     }
+}
+int controller_speed(){
     if((ButtonState >> BUTTONL2)&1 == 1&&Speed_Mode>1) {//対応するボタンを書く(今回L2ボタン
-        Speed_Mode-=1;
-        wait(0.1);
+        return 1;
     }else if((ButtonState >> BUTTONR2)&1 == 1&&Speed_Mode<3) {//対応するボタンを書く(今回R2ボタン
-        Speed_Mode+=1;
-        wait(0.1);
-    } 
-    if((ButtonState >> BUTTONTRIANGEL)&1 == 1) {//対応するボタンを書く(今回△ボタン
-        servo.pulsewidth_us(1450);
-    } else if((ButtonState >> BUTTONCROSS)&1 == 1) {//対応するボタンを書く(今回×ボタン
-        servo.pulsewidth_us(2400);
+        return 2;
+    }else{
+        return 0;
     }
-    send += Speed_Mode;
-    spi. write(send);
+}
+int controller_shoot(){
+    if((ButtonState >> BUTTONCIRCLE)&1 == 1) {//O
+        return 1;
+    } else if((ButtonState >> BUTTONCROSS)&1 == 1) {//X
+        return 2;
+    }else if((ButtonState >> BUTTONTRIANGLE)&1 == 1) {//△
+        return 3;
+    }else if((ButtonState >> BUTTONSQUARE)&1 == 1) {//□
+        return 4;
+    }else{ 
+        return 0;
+    }
 }
\ No newline at end of file