新部内対抗A班 / Mbed 2 deprecated PS3_BlueUSB_user_ver_circlewarA

Dependencies:   mbed

Fork of PS3_BlueUSB_user_ver_circlewar by 智也 馬場

Committer:
baba2357
Date:
Mon Feb 15 08:36:10 2016 +0000
Revision:
12:d35077f98a08
Parent:
11:8288386dc376
Child:
13:0d6ad1fb03b5
Child:
14:639d019dfee8
qwetrtyuiop

Who changed what in which revision?

UserRevisionLine numberNew contents of line
baba2357 11:8288386dc376 1
baba2357 11:8288386dc376 2 /*分かれ!J!*/
baba2357 11:8288386dc376 3
baba2357 11:8288386dc376 4
baba2357 11:8288386dc376 5
hirokimineshita 0:736c76a75def 6 #include "Utils.h"
hirokimineshita 0:736c76a75def 7 #include "USBHost.h"
hirokimineshita 0:736c76a75def 8 #include "hci.h"
hirokimineshita 0:736c76a75def 9 #include "ps3.h"
hirokimineshita 0:736c76a75def 10 #include "User.h"
hirokimineshita 0:736c76a75def 11 #include "mbed.h"
hirokimineshita 0:736c76a75def 12
hirokimineshita 0:736c76a75def 13 int RSX,RSY,LSX,LSY,BSU,BSL;
hirokimineshita 9:e5437ba3e920 14 //これより下に関数外に書く要素を記入する
hirokimineshita 0:736c76a75def 15 PwmOut led1(LED1);
hirokimineshita 0:736c76a75def 16 PwmOut led2(LED2);
hirokimineshita 0:736c76a75def 17 DigitalOut led3(LED3);
hirokimineshita 0:736c76a75def 18 DigitalOut led4(LED4);
baba2357 12:d35077f98a08 19 DigitalOut LA(p21);
baba2357 12:d35077f98a08 20 DigitalOut RA(p23);
baba2357 12:d35077f98a08 21 DigitalOut LH(p22);
baba2357 12:d35077f98a08 22 DigitalOut RH(p24);
baba2357 12:d35077f98a08 23 DigitalOut CH(p25);
baba2357 10:bf0c0cdb487d 24 SPI m(p5, p6, p7);
baba2357 10:bf0c0cdb487d 25 DigitalOut cs(p8);
hirokimineshita 0:736c76a75def 26 void UserLoopSetting(){
hirokimineshita 0:736c76a75def 27 //一度だけ行いたい初期設定をここに書く
hirokimineshita 0:736c76a75def 28 led1.period_ms(20);
hirokimineshita 0:736c76a75def 29 }
hirokimineshita 0:736c76a75def 30
hirokimineshita 0:736c76a75def 31 void UserLoop(char n,const u8* data){
hirokimineshita 0:736c76a75def 32 u16 ButtonState;
hirokimineshita 0:736c76a75def 33 if(n==0){//有線Ps3USB.cpp
hirokimineshita 0:736c76a75def 34 RSX = ((ps3report*)data)->RightStickX;
hirokimineshita 0:736c76a75def 35 RSY = ((ps3report*)data)->RightStickY;
hirokimineshita 0:736c76a75def 36 LSX = ((ps3report*)data)->LeftStickX;
hirokimineshita 0:736c76a75def 37 LSY = ((ps3report*)data)->LeftStickY;
hirokimineshita 0:736c76a75def 38 BSU = (u8)(((ps3report*)data)->ButtonState & 0x00ff);
hirokimineshita 0:736c76a75def 39 BSL = (u8)(((ps3report*)data)->ButtonState >> 8);
hirokimineshita 0:736c76a75def 40 //ボタンの処理
hirokimineshita 0:736c76a75def 41 ButtonState = ((ps3report*)data)->ButtonState;
hirokimineshita 0:736c76a75def 42 }else {//無線TestShell.cpp
hirokimineshita 0:736c76a75def 43 RSX = ((ps3report*)(data + 1))->RightStickX;
hirokimineshita 0:736c76a75def 44 RSY = ((ps3report*)(data + 1))->RightStickY;
hirokimineshita 0:736c76a75def 45 LSX = ((ps3report*)(data + 1))->LeftStickX;
hirokimineshita 0:736c76a75def 46 LSY = ((ps3report*)(data + 1))->LeftStickY;
hirokimineshita 0:736c76a75def 47 BSU = (u8)(((ps3report*)(data + 1))->ButtonState & 0x00ff);
hirokimineshita 0:736c76a75def 48 BSL = (u8)(((ps3report*)(data + 1))->ButtonState >> 8);
hirokimineshita 0:736c76a75def 49 //ボタンの処理
hirokimineshita 0:736c76a75def 50 ButtonState = ((ps3report*)(data + 1))->ButtonState;
hirokimineshita 0:736c76a75def 51 }
hirokimineshita 0:736c76a75def 52 //ここより下にプログラムを書く
hirokimineshita 0:736c76a75def 53 //データ取得例
baba2357 10:bf0c0cdb487d 54 int M=0;
baba2357 10:bf0c0cdb487d 55 m.format(16,3);
baba2357 10:bf0c0cdb487d 56 m.frequency(1000000);
baba2357 10:bf0c0cdb487d 57 cs=0;
hirokimineshita 0:736c76a75def 58 if((ButtonState >> BUTTONCIRCLE)&1) {
hirokimineshita 0:736c76a75def 59 //○が押されたとき
hirokimineshita 0:736c76a75def 60 }
baba2357 10:bf0c0cdb487d 61 if((ButtonState >> BUTTONL2)&1){
baba2357 12:d35077f98a08 62 LA=1;
baba2357 10:bf0c0cdb487d 63 }
baba2357 10:bf0c0cdb487d 64 else if((ButtonState >> BUTTONR2)&1){
baba2357 12:d35077f98a08 65 RA=1;
baba2357 12:d35077f98a08 66 }
baba2357 12:d35077f98a08 67 else if((ButtonState >> BUTTONCROSS)&1){
baba2357 12:d35077f98a08 68 RA=1;
baba2357 12:d35077f98a08 69 LA=1;
baba2357 10:bf0c0cdb487d 70 }
baba2357 12:d35077f98a08 71 else if((ButtonState >> BUTTONCIRCLE)&1){
baba2357 12:d35077f98a08 72 RH=1;
baba2357 12:d35077f98a08 73 }
baba2357 12:d35077f98a08 74 else if((ButtonState >> BUTTONTRIANGEL)&1){
baba2357 12:d35077f98a08 75 CH=1;
baba2357 12:d35077f98a08 76 }
baba2357 12:d35077f98a08 77 else if((ButtonState >> BUTTONSQUARE)&1){
baba2357 12:d35077f98a08 78 LH=1;
baba2357 10:bf0c0cdb487d 79 }
baba2357 10:bf0c0cdb487d 80 if((ButtonState >> BUTTONR1)&1){
baba2357 10:bf0c0cdb487d 81 M=+32768;
baba2357 10:bf0c0cdb487d 82 }
baba2357 10:bf0c0cdb487d 83 else if((ButtonState >> BUTTONL2)&1){
baba2357 10:bf0c0cdb487d 84 M=+16384;
baba2357 10:bf0c0cdb487d 85 }
baba2357 10:bf0c0cdb487d 86 if(LSX-128>=0){
baba2357 10:bf0c0cdb487d 87 M=+8192;
baba2357 10:bf0c0cdb487d 88 M=+(LSX-128)*64;
baba2357 10:bf0c0cdb487d 89 }
baba2357 10:bf0c0cdb487d 90 else if(LSX-128<0){
baba2357 10:bf0c0cdb487d 91 M=+(-1)*((LSX-128)*64);
baba2357 10:bf0c0cdb487d 92 }
baba2357 10:bf0c0cdb487d 93 if(LSY-128>=0){
baba2357 10:bf0c0cdb487d 94 M=+64;
baba2357 10:bf0c0cdb487d 95 M=+((LSY-128)/2);
baba2357 10:bf0c0cdb487d 96 }
baba2357 10:bf0c0cdb487d 97 else if(LSY-128<0){
baba2357 10:bf0c0cdb487d 98 M=+((-1)*(LSY-128));
baba2357 10:bf0c0cdb487d 99 }
baba2357 10:bf0c0cdb487d 100 m.write(M);
baba2357 12:d35077f98a08 101
hirokimineshita 0:736c76a75def 102 led1=LSX/256.0f;
hirokimineshita 0:736c76a75def 103 led2=LSY/256.0f;
hirokimineshita 0:736c76a75def 104 led3=ButtonState & 0x0400; //L1の状態
hirokimineshita 0:736c76a75def 105 led4=ButtonState & 0x0800; //R1の状態
hirokimineshita 0:736c76a75def 106 //値の取得はps3.hを参照
baba2357 10:bf0c0cdb487d 107 cs=1;
hirokimineshita 0:736c76a75def 108 }