Bunaitaiko-team2(2017) / Mbed 2 deprecated bunai2017_2nd_saito

Dependencies:   mbed

Fork of PS3_BlueUSB_user_ver2 by Bunaitaiko-team2(2017)

Committer:
stream3715
Date:
Thu May 18 15:29:54 2017 +0000
Revision:
16:03dd8c0a8d1d
Parent:
15:c5258a4dee75
???????

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
hirokimineshita 0:736c76a75def 7 #include "mbed.h"
hirokimineshita 0:736c76a75def 8
hirokimineshita 0:736c76a75def 9 int RSX,RSY,LSX,LSY,BSU,BSL;
stream3715 16:03dd8c0a8d1d 10 int servo2value;
stream3715 16:03dd8c0a8d1d 11
hirokimineshita 9:e5437ba3e920 12 //これより下に関数外に書く要素を記入する
stream3715 16:03dd8c0a8d1d 13 PwmOut servo1(p21);
stream3715 16:03dd8c0a8d1d 14 PwmOut servo2(p22);
stream3715 16:03dd8c0a8d1d 15 PwmOut left1(p23);
stream3715 16:03dd8c0a8d1d 16 PwmOut left2(p24);
stream3715 16:03dd8c0a8d1d 17 PwmOut right1(p25);
stream3715 16:03dd8c0a8d1d 18 PwmOut right2(p26);
baba2357 11:86d717718dbf 19
stream3715 16:03dd8c0a8d1d 20 void UserLoopSetting()
stream3715 16:03dd8c0a8d1d 21 {
stream3715 16:03dd8c0a8d1d 22 servo2value = 950;
stream3715 16:03dd8c0a8d1d 23
hirokimineshita 0:736c76a75def 24 //一度だけ行いたい初期設定をここに書く
stream3715 16:03dd8c0a8d1d 25
stream3715 16:03dd8c0a8d1d 26 servo1.period_ms(20);
stream3715 16:03dd8c0a8d1d 27 servo2.period_ms(20);
stream3715 16:03dd8c0a8d1d 28
stream3715 16:03dd8c0a8d1d 29 servo1.pulsewidth_us(950);
stream3715 16:03dd8c0a8d1d 30 servo2.pulsewidth_us(servo2value);
stream3715 16:03dd8c0a8d1d 31
stream3715 16:03dd8c0a8d1d 32 left1 = 0;
stream3715 16:03dd8c0a8d1d 33 left2 = 0;
stream3715 16:03dd8c0a8d1d 34 right1 = 0;
stream3715 16:03dd8c0a8d1d 35 right2 = 0;
hirokimineshita 0:736c76a75def 36 }
hirokimineshita 0:736c76a75def 37
stream3715 16:03dd8c0a8d1d 38 void UserLoop(char n,const u8* data)
stream3715 16:03dd8c0a8d1d 39 {
hirokimineshita 0:736c76a75def 40 u16 ButtonState;
stream3715 16:03dd8c0a8d1d 41 if(n==0) { //有線Ps3USB.cpp
hirokimineshita 0:736c76a75def 42 RSX = ((ps3report*)data)->RightStickX;
hirokimineshita 0:736c76a75def 43 RSY = ((ps3report*)data)->RightStickY;
hirokimineshita 0:736c76a75def 44 LSX = ((ps3report*)data)->LeftStickX;
hirokimineshita 0:736c76a75def 45 LSY = ((ps3report*)data)->LeftStickY;
hirokimineshita 0:736c76a75def 46 BSU = (u8)(((ps3report*)data)->ButtonState & 0x00ff);
hirokimineshita 0:736c76a75def 47 BSL = (u8)(((ps3report*)data)->ButtonState >> 8);
hirokimineshita 0:736c76a75def 48 //ボタンの処理
hirokimineshita 0:736c76a75def 49 ButtonState = ((ps3report*)data)->ButtonState;
stream3715 16:03dd8c0a8d1d 50 } else {//無線TestShell.cpp
hirokimineshita 0:736c76a75def 51 RSX = ((ps3report*)(data + 1))->RightStickX;
hirokimineshita 0:736c76a75def 52 RSY = ((ps3report*)(data + 1))->RightStickY;
hirokimineshita 0:736c76a75def 53 LSX = ((ps3report*)(data + 1))->LeftStickX;
hirokimineshita 0:736c76a75def 54 LSY = ((ps3report*)(data + 1))->LeftStickY;
hirokimineshita 0:736c76a75def 55 BSU = (u8)(((ps3report*)(data + 1))->ButtonState & 0x00ff);
hirokimineshita 0:736c76a75def 56 BSL = (u8)(((ps3report*)(data + 1))->ButtonState >> 8);
hirokimineshita 0:736c76a75def 57 //ボタンの処理
hirokimineshita 0:736c76a75def 58 ButtonState = ((ps3report*)(data + 1))->ButtonState;
hirokimineshita 0:736c76a75def 59 }
stream3715 16:03dd8c0a8d1d 60
stream3715 16:03dd8c0a8d1d 61 //○が押されたとき
abcdefgh 13:3d7a8cb91eeb 62 if((ButtonState >> BUTTONCIRCLE)&1 == 1) {
stream3715 16:03dd8c0a8d1d 63 servo1.pulsewidth_us(750);
stream3715 16:03dd8c0a8d1d 64 } else if((ButtonState >> BUTTONTRIANGEL)&1 == 1) {
stream3715 16:03dd8c0a8d1d 65 servo1.pulsewidth_us(1200);
stream3715 16:03dd8c0a8d1d 66 } else if((ButtonState >> BUTTONCROSS)&1 == 1) {
stream3715 16:03dd8c0a8d1d 67 servo1.pulsewidth_us(1800);
stream3715 16:03dd8c0a8d1d 68 }
stream3715 16:03dd8c0a8d1d 69
stream3715 16:03dd8c0a8d1d 70 if((ButtonState >> BUTTONL1)&1 == 1) {
stream3715 16:03dd8c0a8d1d 71 ++servo2value;
stream3715 16:03dd8c0a8d1d 72 servo2.pulsewidth_us(servo2value);
stream3715 16:03dd8c0a8d1d 73 } else if((ButtonState >> BUTTONR1)&1 == 1) {
stream3715 16:03dd8c0a8d1d 74 --servo2value;
stream3715 16:03dd8c0a8d1d 75 servo2.pulsewidth_us(servo2value);
stream3715 16:03dd8c0a8d1d 76 }
stream3715 16:03dd8c0a8d1d 77
stream3715 16:03dd8c0a8d1d 78 if(LSY > 130) {
stream3715 16:03dd8c0a8d1d 79 left2 = ((LSY - 128) / 128.0f * 0.8f);
stream3715 16:03dd8c0a8d1d 80 left1 = 0;
stream3715 16:03dd8c0a8d1d 81 } else if(LSY < 120) {
stream3715 16:03dd8c0a8d1d 82 left1= (LSY / 128.0f * 0.8f);
stream3715 16:03dd8c0a8d1d 83 left2 = 0;
stream3715 16:03dd8c0a8d1d 84 } else {
stream3715 16:03dd8c0a8d1d 85 left1 = 0;
stream3715 16:03dd8c0a8d1d 86 left2 = 0;
stream3715 16:03dd8c0a8d1d 87 }
stream3715 16:03dd8c0a8d1d 88
stream3715 16:03dd8c0a8d1d 89 if(RSY>130) {
stream3715 16:03dd8c0a8d1d 90 right2 = ((RSY - 128)/ 128.0f * 0.8f);
stream3715 16:03dd8c0a8d1d 91 right1 = 0;
stream3715 16:03dd8c0a8d1d 92 } else if(LSY < 120) {
stream3715 16:03dd8c0a8d1d 93 right1 = (RSY / 128.0f * 0.8f);
stream3715 16:03dd8c0a8d1d 94 right2 = 0;
stream3715 16:03dd8c0a8d1d 95 } else {
stream3715 16:03dd8c0a8d1d 96 right1 = 0;
stream3715 16:03dd8c0a8d1d 97 right2 = 0;
stream3715 16:03dd8c0a8d1d 98 }
stream3715 16:03dd8c0a8d1d 99
stream3715 16:03dd8c0a8d1d 100 //led1=LSX/256.0f;
stream3715 16:03dd8c0a8d1d 101 //led2=LSY/256.0f;
stream3715 16:03dd8c0a8d1d 102 //led3=ButtonState & 0x0400; //L1の状態
stream3715 16:03dd8c0a8d1d 103 //led4=ButtonState & 0x0800; //R1の状態
hirokimineshita 0:736c76a75def 104 //値の取得はps3.hを参照
abcdefgh 15:c5258a4dee75 105 //ここまでプログラム例 実機に乗せるときは消して大丈夫です
stream3715 16:03dd8c0a8d1d 106
stream3715 16:03dd8c0a8d1d 107
stream3715 16:03dd8c0a8d1d 108
hirokimineshita 0:736c76a75def 109 }