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

Dependencies:   mbed

Fork of PS3_BlueUSB_user_ver_circlewar by 新部内対抗A班

Committer:
knumber16
Date:
Thu Mar 10 02:26:38 2016 +0000
Revision:
16:90fb0ef425ac
Parent:
15:d9485d4c3b8c
Child:
17:ae30e74e9eba
asdfghjkl;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
baba2357 11:8288386dc376 1
baba2357 11:8288386dc376 2 /*分かれ!J!*/
baba2357 11:8288386dc376 3
hirokimineshita 0:736c76a75def 4 #include "Utils.h"
hirokimineshita 0:736c76a75def 5 #include "USBHost.h"
hirokimineshita 0:736c76a75def 6 #include "hci.h"
hirokimineshita 0:736c76a75def 7 #include "ps3.h"
hirokimineshita 0:736c76a75def 8 #include "User.h"
hirokimineshita 0:736c76a75def 9 #include "mbed.h"
knumber16 15:d9485d4c3b8c 10 #include "S9706.h"
knumber16 15:d9485d4c3b8c 11 #include "SerialServo.h"
knumber16 15:d9485d4c3b8c 12 //#define DEBUG_MODE
knumber16 15:d9485d4c3b8c 13 #define ID 0
hirokimineshita 0:736c76a75def 14
knumber16 16:90fb0ef425ac 15 #define duty1 0.
knumber16 16:90fb0ef425ac 16 #define duty2
knumber16 16:90fb0ef425ac 17
hirokimineshita 0:736c76a75def 18 int RSX,RSY,LSX,LSY,BSU,BSL;
hirokimineshita 9:e5437ba3e920 19 //これより下に関数外に書く要素を記入する
baba2357 12:d35077f98a08 20 DigitalOut LA(p21);
baba2357 12:d35077f98a08 21 DigitalOut RA(p23);
baba2357 12:d35077f98a08 22 DigitalOut LH(p22);
baba2357 12:d35077f98a08 23 DigitalOut RH(p24);
baba2357 12:d35077f98a08 24 DigitalOut CH(p25);
baba2357 10:bf0c0cdb487d 25 SPI m(p5, p6, p7);
baba2357 10:bf0c0cdb487d 26 DigitalOut cs(p8);
knumber16 15:d9485d4c3b8c 27 //Serial pc(USBTX,USBRX);
knumber16 15:d9485d4c3b8c 28
knumber16 15:d9485d4c3b8c 29 DigitalOut leds[4] = {LED1,LED2,LED3,LED4};
knumber16 15:d9485d4c3b8c 30
knumber16 15:d9485d4c3b8c 31
knumber16 15:d9485d4c3b8c 32
knumber16 15:d9485d4c3b8c 33 //
hirokimineshita 0:736c76a75def 34 void UserLoopSetting(){
hirokimineshita 0:736c76a75def 35 //一度だけ行いたい初期設定をここに書く
knumber16 15:d9485d4c3b8c 36 LA=0;
knumber16 15:d9485d4c3b8c 37 RA=0;
knumber16 15:d9485d4c3b8c 38 LH=0;
knumber16 15:d9485d4c3b8c 39 RH=0;
knumber16 15:d9485d4c3b8c 40 CH=0;
knumber16 15:d9485d4c3b8c 41 initSerialServo();
hirokimineshita 0:736c76a75def 42 }
hirokimineshita 0:736c76a75def 43
hirokimineshita 0:736c76a75def 44 void UserLoop(char n,const u8* data){
hirokimineshita 0:736c76a75def 45 u16 ButtonState;
hirokimineshita 0:736c76a75def 46 if(n==0){//有線Ps3USB.cpp
hirokimineshita 0:736c76a75def 47 RSX = ((ps3report*)data)->RightStickX;
hirokimineshita 0:736c76a75def 48 RSY = ((ps3report*)data)->RightStickY;
hirokimineshita 0:736c76a75def 49 LSX = ((ps3report*)data)->LeftStickX;
hirokimineshita 0:736c76a75def 50 LSY = ((ps3report*)data)->LeftStickY;
hirokimineshita 0:736c76a75def 51 BSU = (u8)(((ps3report*)data)->ButtonState & 0x00ff);
hirokimineshita 0:736c76a75def 52 BSL = (u8)(((ps3report*)data)->ButtonState >> 8);
hirokimineshita 0:736c76a75def 53 //ボタンの処理
hirokimineshita 0:736c76a75def 54 ButtonState = ((ps3report*)data)->ButtonState;
hirokimineshita 0:736c76a75def 55 }else {//無線TestShell.cpp
hirokimineshita 0:736c76a75def 56 RSX = ((ps3report*)(data + 1))->RightStickX;
hirokimineshita 0:736c76a75def 57 RSY = ((ps3report*)(data + 1))->RightStickY;
hirokimineshita 0:736c76a75def 58 LSX = ((ps3report*)(data + 1))->LeftStickX;
hirokimineshita 0:736c76a75def 59 LSY = ((ps3report*)(data + 1))->LeftStickY;
hirokimineshita 0:736c76a75def 60 BSU = (u8)(((ps3report*)(data + 1))->ButtonState & 0x00ff);
hirokimineshita 0:736c76a75def 61 BSL = (u8)(((ps3report*)(data + 1))->ButtonState >> 8);
hirokimineshita 0:736c76a75def 62 //ボタンの処理
hirokimineshita 0:736c76a75def 63 ButtonState = ((ps3report*)(data + 1))->ButtonState;
hirokimineshita 0:736c76a75def 64 }
hirokimineshita 0:736c76a75def 65 //ここより下にプログラムを書く
hirokimineshita 0:736c76a75def 66 //データ取得例
knumber16 15:d9485d4c3b8c 67 set_degree(ID,200);
knumber16 15:d9485d4c3b8c 68
baba2357 10:bf0c0cdb487d 69 int M=0;
baba2357 10:bf0c0cdb487d 70 m.format(16,3);
baba2357 10:bf0c0cdb487d 71 m.frequency(1000000);
baba2357 10:bf0c0cdb487d 72 cs=0;
hirokimineshita 0:736c76a75def 73 if((ButtonState >> BUTTONCIRCLE)&1) {
hirokimineshita 0:736c76a75def 74 //○が押されたとき
hirokimineshita 0:736c76a75def 75 }
baba2357 10:bf0c0cdb487d 76 if((ButtonState >> BUTTONL2)&1){
knumber16 15:d9485d4c3b8c 77 LA=!LA;
baba2357 10:bf0c0cdb487d 78 }
baba2357 10:bf0c0cdb487d 79 else if((ButtonState >> BUTTONR2)&1){
knumber16 15:d9485d4c3b8c 80 RA=!RA;
baba2357 12:d35077f98a08 81 }
baba2357 12:d35077f98a08 82 else if((ButtonState >> BUTTONCROSS)&1){
knumber16 15:d9485d4c3b8c 83 RA=!RA;
knumber16 15:d9485d4c3b8c 84 LA=!LA;
baba2357 10:bf0c0cdb487d 85 }
baba2357 12:d35077f98a08 86 else if((ButtonState >> BUTTONCIRCLE)&1){
knumber16 15:d9485d4c3b8c 87 RH=!RH;
baba2357 12:d35077f98a08 88 }
baba2357 12:d35077f98a08 89 else if((ButtonState >> BUTTONTRIANGEL)&1){
knumber16 15:d9485d4c3b8c 90 CH=!CH;
baba2357 12:d35077f98a08 91 }
baba2357 12:d35077f98a08 92 else if((ButtonState >> BUTTONSQUARE)&1){
knumber16 15:d9485d4c3b8c 93 LH=!LH;
baba2357 10:bf0c0cdb487d 94 }
baba2357 10:bf0c0cdb487d 95 if((ButtonState >> BUTTONR1)&1){
jack0325suzu 14:639d019dfee8 96 M+=1 << 15;
baba2357 10:bf0c0cdb487d 97 }
jack0325suzu 14:639d019dfee8 98 else if((ButtonState >> BUTTONL1)&1){
jack0325suzu 14:639d019dfee8 99 M+=1 << 14;
baba2357 10:bf0c0cdb487d 100 }
baba2357 10:bf0c0cdb487d 101 if(LSX-128>=0){
jack0325suzu 14:639d019dfee8 102 M+=1 << 13;
jack0325suzu 14:639d019dfee8 103 M+=((LSX-128)/2) << 7;
baba2357 10:bf0c0cdb487d 104 }
baba2357 10:bf0c0cdb487d 105 else if(LSX-128<0){
jack0325suzu 14:639d019dfee8 106 if(128-LSX==128)M+=63 << 7;
jack0325suzu 14:639d019dfee8 107 else M+=((128-LSX)/2) << 7;
jack0325suzu 14:639d019dfee8 108 }
jack0325suzu 14:639d019dfee8 109 if(LSY-127<=0){
jack0325suzu 14:639d019dfee8 110 M+=1 << 6;
jack0325suzu 14:639d019dfee8 111 M+=((127-LSY)/2);
jack0325suzu 14:639d019dfee8 112 }
jack0325suzu 14:639d019dfee8 113 else if(LSY-127>0){
jack0325suzu 14:639d019dfee8 114 if(LSY-127==128)M+=63;
jack0325suzu 14:639d019dfee8 115 else M+=(LSY-127)/2;
baba2357 10:bf0c0cdb487d 116 }
jack0325suzu 14:639d019dfee8 117 #ifdef DEBUG_MODE
jack0325suzu 14:639d019dfee8 118 int MM,i,MA[16];
jack0325suzu 14:639d019dfee8 119 MM=M;
jack0325suzu 14:639d019dfee8 120 for(i=0;MM>0;i++){
jack0325suzu 14:639d019dfee8 121 MA[i]=MM % 2;
jack0325suzu 14:639d019dfee8 122 MM=MM/2;
jack0325suzu 14:639d019dfee8 123 }
jack0325suzu 14:639d019dfee8 124 for(i=i+1;i<16;i++){
jack0325suzu 14:639d019dfee8 125 MA[i]=0;
jack0325suzu 14:639d019dfee8 126 }
jack0325suzu 14:639d019dfee8 127 for(i=15;i>=0;i--){printf("%d",MA[i]);}
jack0325suzu 14:639d019dfee8 128 printf("\r\n");
jack0325suzu 14:639d019dfee8 129 #endif
jack0325suzu 14:639d019dfee8 130 //printf("LSX=%d,LSY=%d\r\n",LSX,LSY);
jack0325suzu 14:639d019dfee8 131 printf("M=%d \r\n",M);
jack0325suzu 14:639d019dfee8 132
baba2357 10:bf0c0cdb487d 133 m.write(M);
baba2357 12:d35077f98a08 134
knumber16 15:d9485d4c3b8c 135 /*
hirokimineshita 0:736c76a75def 136 led1=LSX/256.0f;
hirokimineshita 0:736c76a75def 137 led2=LSY/256.0f;
hirokimineshita 0:736c76a75def 138 led3=ButtonState & 0x0400; //L1の状態
hirokimineshita 0:736c76a75def 139 led4=ButtonState & 0x0800; //R1の状態
knumber16 15:d9485d4c3b8c 140 */
knumber16 15:d9485d4c3b8c 141 for(int i = 0;i<4;i++){
knumber16 15:d9485d4c3b8c 142 leds[i] = !leds[i];
knumber16 15:d9485d4c3b8c 143 wait_ms(50);
knumber16 15:d9485d4c3b8c 144 }
hirokimineshita 0:736c76a75def 145 //値の取得はps3.hを参照
jack0325suzu 14:639d019dfee8 146 cs=1;
knumber16 15:d9485d4c3b8c 147 // setID(ID);
knumber16 15:d9485d4c3b8c 148 // readID();
knumber16 15:d9485d4c3b8c 149 // readID();
knumber16 15:d9485d4c3b8c 150
hirokimineshita 0:736c76a75def 151 }