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

Dependencies:   mbed

Committer:
o2132613
Date:
Thu Oct 31 06:16:05 2019 +0000
Revision:
19:4058485b5bb3
Parent:
18:2579c275ef57
f3rc(master(; ;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
hirokimineshita 0:736c76a75def 1 #include "Utils.h"
hirokimineshita 0:736c76a75def 2 #include "USBHost.h"
hirokimineshita 0:736c76a75def 3 #include "hci.h"
hirokimineshita 0:736c76a75def 4 #include "ps3.h"
hirokimineshita 0:736c76a75def 5 #include "User.h"
hirokimineshita 0:736c76a75def 6 #include "mbed.h"
yuto17320508 18:2579c275ef57 7 #include "math.h"
yuto17320508 18:2579c275ef57 8
hirokimineshita 0:736c76a75def 9 int RSX,RSY,LSX,LSY,BSU,BSL;
o2132613 19:4058485b5bb3 10 PwmOut servo(p21); //check survo pin
yuto17320508 16:b232fd9ee9c2 11 SPI spi(p5,p6,p7);
yuto17320508 16:b232fd9ee9c2 12 DigitalOut cs(p8);
o2132613 19:4058485b5bb3 13 int Speed_Mode = 2 ;
o2132613 19:4058485b5bb3 14 int send;
yuto17320508 16:b232fd9ee9c2 15
baba2357 11:86d717718dbf 16
yuto17320508 16:b232fd9ee9c2 17 void UserLoopSetting()
yuto17320508 16:b232fd9ee9c2 18 {
yuto17320508 17:c5c41fcf316e 19 spi.format(8,3);
yuto17320508 16:b232fd9ee9c2 20 spi.frequency(1000000);
o2132613 19:4058485b5bb3 21 servo.pulsewidth_us(1450);
hirokimineshita 0:736c76a75def 22 }
yuto17320508 16:b232fd9ee9c2 23 void UserLoop(char n,const u8* data)
yuto17320508 16:b232fd9ee9c2 24 {
hirokimineshita 0:736c76a75def 25 u16 ButtonState;
yuto17320508 16:b232fd9ee9c2 26 if(n==0) { //有線Ps3USB.cpp
hirokimineshita 0:736c76a75def 27 RSX = ((ps3report*)data)->RightStickX;
hirokimineshita 0:736c76a75def 28 RSY = ((ps3report*)data)->RightStickY;
hirokimineshita 0:736c76a75def 29 LSX = ((ps3report*)data)->LeftStickX;
hirokimineshita 0:736c76a75def 30 LSY = ((ps3report*)data)->LeftStickY;
hirokimineshita 0:736c76a75def 31 BSU = (u8)(((ps3report*)data)->ButtonState & 0x00ff);
hirokimineshita 0:736c76a75def 32 BSL = (u8)(((ps3report*)data)->ButtonState >> 8);
hirokimineshita 0:736c76a75def 33 //ボタンの処理
hirokimineshita 0:736c76a75def 34 ButtonState = ((ps3report*)data)->ButtonState;
yuto17320508 16:b232fd9ee9c2 35 } else {//無線TestShell.cpp
hirokimineshita 0:736c76a75def 36 RSX = ((ps3report*)(data + 1))->RightStickX;
hirokimineshita 0:736c76a75def 37 RSY = ((ps3report*)(data + 1))->RightStickY;
hirokimineshita 0:736c76a75def 38 LSX = ((ps3report*)(data + 1))->LeftStickX;
hirokimineshita 0:736c76a75def 39 LSY = ((ps3report*)(data + 1))->LeftStickY;
hirokimineshita 0:736c76a75def 40 BSU = (u8)(((ps3report*)(data + 1))->ButtonState & 0x00ff);
hirokimineshita 0:736c76a75def 41 BSL = (u8)(((ps3report*)(data + 1))->ButtonState >> 8);
hirokimineshita 0:736c76a75def 42 //ボタンの処理
hirokimineshita 0:736c76a75def 43 ButtonState = ((ps3report*)(data + 1))->ButtonState;
hirokimineshita 0:736c76a75def 44 }
hirokimineshita 0:736c76a75def 45 //ここより下にプログラムを書く
yuto17320508 16:b232fd9ee9c2 46 //spi通信用プログラム
o2132613 19:4058485b5bb3 47 send = 0;
o2132613 19:4058485b5bb3 48 if((ButtonState >> BUTTONUP)&1 == 1&&(ButtonState >> BUTTONL1)&1 == 1)//UPL1
o2132613 19:4058485b5bb3 49 {
o2132613 19:4058485b5bb3 50 send = 84;
o2132613 19:4058485b5bb3 51 }else if ((ButtonState >> BUTTONDOWN)&1 == 1&&(ButtonState >> BUTTONR1)&1 == 1)//DownR1
o2132613 19:4058485b5bb3 52 {
o2132613 19:4058485b5bb3 53 send = 168;
o2132613 19:4058485b5bb3 54 }else if ((ButtonState >> BUTTONUP)&1 == 1&&(ButtonState >> BUTTONR1)&1 == 1)//UPR1
o2132613 19:4058485b5bb3 55 {
o2132613 19:4058485b5bb3 56 send = 148;
o2132613 19:4058485b5bb3 57 }else if ((ButtonState >> BUTTONDOWN)&1 == 1&&(ButtonState >> BUTTONL1)&1 == 1)//DownL1
o2132613 19:4058485b5bb3 58 {
o2132613 19:4058485b5bb3 59 send = 104;
o2132613 19:4058485b5bb3 60 }else if((ButtonState >> BUTTONUP)&1 == 1)
o2132613 19:4058485b5bb3 61 {//対応するボタンを書く(今回上ボタン
o2132613 19:4058485b5bb3 62 send = 20;
o2132613 19:4058485b5bb3 63 }else if((ButtonState >> BUTTONDOWN)&1 == 1)
o2132613 19:4058485b5bb3 64 {//対応するボタンを書く(今回下ボタン
o2132613 19:4058485b5bb3 65 send = 40;
o2132613 19:4058485b5bb3 66 }else if((ButtonState >> BUTTONL1)&1 == 1)
o2132613 19:4058485b5bb3 67 {//対応するボタンを書く(今回L1ボタン
o2132613 19:4058485b5bb3 68 send = 100;
o2132613 19:4058485b5bb3 69 }else if((ButtonState >> BUTTONR1)&1 == 1)
o2132613 19:4058485b5bb3 70 {//対応するボタンを書く(今回R1ボタン
o2132613 19:4058485b5bb3 71 send = 152;
o2132613 19:4058485b5bb3 72 }else{
o2132613 19:4058485b5bb3 73 send = 0;
yuto17320508 18:2579c275ef57 74 }
o2132613 19:4058485b5bb3 75 if((ButtonState >> BUTTONL2)&1 == 1&&Speed_Mode>1) {//対応するボタンを書く(今回L2ボタン
o2132613 19:4058485b5bb3 76 Speed_Mode-=1;
o2132613 19:4058485b5bb3 77 wait(0.1);
o2132613 19:4058485b5bb3 78 }else if((ButtonState >> BUTTONR2)&1 == 1&&Speed_Mode<3) {//対応するボタンを書く(今回R2ボタン
o2132613 19:4058485b5bb3 79 Speed_Mode+=1;
o2132613 19:4058485b5bb3 80 wait(0.1);
o2132613 19:4058485b5bb3 81 }
yuto17320508 18:2579c275ef57 82 if((ButtonState >> BUTTONTRIANGEL)&1 == 1) {//対応するボタンを書く(今回△ボタン
o2132613 19:4058485b5bb3 83 servo.pulsewidth_us(1450);
o2132613 19:4058485b5bb3 84 } else if((ButtonState >> BUTTONCROSS)&1 == 1) {//対応するボタンを書く(今回×ボタン
o2132613 19:4058485b5bb3 85 servo.pulsewidth_us(2400);
yuto17320508 18:2579c275ef57 86 }
o2132613 19:4058485b5bb3 87 send += Speed_Mode;
yuto17320508 18:2579c275ef57 88 spi. write(send);
hirokimineshita 0:736c76a75def 89 }