Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
Fork of PS3_BlueUSB_user by
User.cpp@9:0b1bd6a05321, 2015-05-28 (annotated)
- Committer:
- yuji8822
- Date:
- Thu May 28 14:15:30 2015 +0000
- Revision:
- 9:0b1bd6a05321
- Parent:
- 8:1d1b8298f0cd
User.cpp????????????
Who changed what in which revision?
| User | Revision | Line number | New 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 | //ここに関数外に書く要素を記入する |
| hirokimineshita | 0:736c76a75def | 10 | int RSX,RSY,LSX,LSY,BSU,BSL; |
| yuji8822 | 9:0b1bd6a05321 | 11 | //PwmOut led1(LED1); |
| yuji8822 | 9:0b1bd6a05321 | 12 | //PwmOut led2(LED2); |
| yuji8822 | 8:1d1b8298f0cd | 13 | |
| hirokimineshita | 0:736c76a75def | 14 | DigitalOut led3(LED3); |
| hirokimineshita | 0:736c76a75def | 15 | DigitalOut led4(LED4); |
| hirokimineshita | 0:736c76a75def | 16 | |
| yuji8822 | 8:1d1b8298f0cd | 17 | PwmOut wheelR1(p21); |
| yuji8822 | 8:1d1b8298f0cd | 18 | PwmOut wheelR2(p22); |
| yuji8822 | 8:1d1b8298f0cd | 19 | |
| yuji8822 | 8:1d1b8298f0cd | 20 | PwmOut wheelL2(p23); |
| yuji8822 | 8:1d1b8298f0cd | 21 | PwmOut wheelL1(p24); |
| yuji8822 | 8:1d1b8298f0cd | 22 | |
| yuji8822 | 9:0b1bd6a05321 | 23 | PwmOut launch1(p25); |
| yuji8822 | 9:0b1bd6a05321 | 24 | PwmOut launch2(p26); |
| yuji8822 | 9:0b1bd6a05321 | 25 | |
| yuji8822 | 8:1d1b8298f0cd | 26 | |
| yuji8822 | 8:1d1b8298f0cd | 27 | void motorR(int dir,float dutyR) |
| yuji8822 | 8:1d1b8298f0cd | 28 | |
| yuji8822 | 8:1d1b8298f0cd | 29 | { |
| yuji8822 | 8:1d1b8298f0cd | 30 | if(dir==1) |
| yuji8822 | 8:1d1b8298f0cd | 31 | { |
| yuji8822 | 8:1d1b8298f0cd | 32 | wheelR1=dutyR; |
| yuji8822 | 8:1d1b8298f0cd | 33 | wheelR2=0; |
| yuji8822 | 8:1d1b8298f0cd | 34 | } |
| yuji8822 | 8:1d1b8298f0cd | 35 | |
| yuji8822 | 8:1d1b8298f0cd | 36 | else if(dir==2) |
| yuji8822 | 8:1d1b8298f0cd | 37 | { |
| yuji8822 | 8:1d1b8298f0cd | 38 | wheelR2=dutyR; |
| yuji8822 | 8:1d1b8298f0cd | 39 | wheelR1=0; |
| yuji8822 | 8:1d1b8298f0cd | 40 | } |
| yuji8822 | 8:1d1b8298f0cd | 41 | |
| yuji8822 | 8:1d1b8298f0cd | 42 | else if(dir==0) |
| yuji8822 | 8:1d1b8298f0cd | 43 | { |
| yuji8822 | 8:1d1b8298f0cd | 44 | wheelR1=0; |
| yuji8822 | 8:1d1b8298f0cd | 45 | wheelR2=0; |
| yuji8822 | 8:1d1b8298f0cd | 46 | } |
| yuji8822 | 8:1d1b8298f0cd | 47 | |
| yuji8822 | 8:1d1b8298f0cd | 48 | } |
| yuji8822 | 8:1d1b8298f0cd | 49 | |
| yuji8822 | 8:1d1b8298f0cd | 50 | void motorL(int dir,float dutyL) |
| yuji8822 | 8:1d1b8298f0cd | 51 | { |
| yuji8822 | 8:1d1b8298f0cd | 52 | if(dir==1) |
| yuji8822 | 8:1d1b8298f0cd | 53 | { |
| yuji8822 | 8:1d1b8298f0cd | 54 | wheelL1=dutyL; |
| yuji8822 | 8:1d1b8298f0cd | 55 | wheelL2=0; |
| yuji8822 | 8:1d1b8298f0cd | 56 | } |
| yuji8822 | 8:1d1b8298f0cd | 57 | |
| yuji8822 | 8:1d1b8298f0cd | 58 | else if(dir==2) |
| yuji8822 | 8:1d1b8298f0cd | 59 | { |
| yuji8822 | 8:1d1b8298f0cd | 60 | wheelL1=0; |
| yuji8822 | 8:1d1b8298f0cd | 61 | wheelL2=dutyL; |
| yuji8822 | 8:1d1b8298f0cd | 62 | } |
| yuji8822 | 8:1d1b8298f0cd | 63 | |
| yuji8822 | 8:1d1b8298f0cd | 64 | else if(dir==0) |
| yuji8822 | 8:1d1b8298f0cd | 65 | { |
| yuji8822 | 8:1d1b8298f0cd | 66 | wheelL1=0; |
| yuji8822 | 8:1d1b8298f0cd | 67 | wheelL2=0; |
| yuji8822 | 8:1d1b8298f0cd | 68 | } |
| yuji8822 | 8:1d1b8298f0cd | 69 | |
| yuji8822 | 8:1d1b8298f0cd | 70 | } |
| yuji8822 | 9:0b1bd6a05321 | 71 | |
| yuji8822 | 9:0b1bd6a05321 | 72 | |
| yuji8822 | 8:1d1b8298f0cd | 73 | |
| yuji8822 | 8:1d1b8298f0cd | 74 | void UserLoopSetting() |
| yuji8822 | 8:1d1b8298f0cd | 75 | { |
| yuji8822 | 9:0b1bd6a05321 | 76 | //led1.period_ms(20); |
| hirokimineshita | 0:736c76a75def | 77 | //一度だけ行いたい初期設定をここに書く |
| yuji8822 | 9:0b1bd6a05321 | 78 | |
| hirokimineshita | 0:736c76a75def | 79 | } |
| hirokimineshita | 0:736c76a75def | 80 | |
| yuji8822 | 8:1d1b8298f0cd | 81 | void UserLoop(char n,const u8* data) |
| yuji8822 | 8:1d1b8298f0cd | 82 | { |
| hirokimineshita | 0:736c76a75def | 83 | u16 ButtonState; |
| yuji8822 | 8:1d1b8298f0cd | 84 | if(n==0) |
| yuji8822 | 8:1d1b8298f0cd | 85 | {//有線Ps3USB.cpp |
| yuji8822 | 8:1d1b8298f0cd | 86 | RSX = ((ps3report*)data)->RightStickX; |
| yuji8822 | 8:1d1b8298f0cd | 87 | RSY = ((ps3report*)data)->RightStickY; |
| yuji8822 | 8:1d1b8298f0cd | 88 | LSX = ((ps3report*)data)->LeftStickX; |
| yuji8822 | 8:1d1b8298f0cd | 89 | LSY = ((ps3report*)data)->LeftStickY; |
| yuji8822 | 8:1d1b8298f0cd | 90 | BSU = (u8)(((ps3report*)data)->ButtonState & 0x00ff); |
| yuji8822 | 8:1d1b8298f0cd | 91 | BSL = (u8)(((ps3report*)data)->ButtonState >> 8); |
| yuji8822 | 8:1d1b8298f0cd | 92 | //ボタンの処理 |
| yuji8822 | 8:1d1b8298f0cd | 93 | ButtonState = ((ps3report*)data)->ButtonState; |
| yuji8822 | 8:1d1b8298f0cd | 94 | } |
| yuji8822 | 8:1d1b8298f0cd | 95 | else |
| yuji8822 | 8:1d1b8298f0cd | 96 | {//無線TestShell.cpp |
| yuji8822 | 8:1d1b8298f0cd | 97 | RSX = ((ps3report*)(data + 1))->RightStickX; |
| yuji8822 | 8:1d1b8298f0cd | 98 | RSY = ((ps3report*)(data + 1))->RightStickY; |
| yuji8822 | 8:1d1b8298f0cd | 99 | LSX = ((ps3report*)(data + 1))->LeftStickX; |
| yuji8822 | 8:1d1b8298f0cd | 100 | LSY = ((ps3report*)(data + 1))->LeftStickY; |
| yuji8822 | 8:1d1b8298f0cd | 101 | BSU = (u8)(((ps3report*)(data + 1))->ButtonState & 0x00ff); |
| yuji8822 | 8:1d1b8298f0cd | 102 | BSL = (u8)(((ps3report*)(data + 1))->ButtonState >> 8); |
| yuji8822 | 8:1d1b8298f0cd | 103 | //ボタンの処理 |
| yuji8822 | 8:1d1b8298f0cd | 104 | ButtonState = ((ps3report*)(data + 1))->ButtonState; |
| yuji8822 | 8:1d1b8298f0cd | 105 | } |
| hirokimineshita | 0:736c76a75def | 106 | //ここより下にプログラムを書く |
| hirokimineshita | 0:736c76a75def | 107 | //データ取得例 |
| yuji8822 | 8:1d1b8298f0cd | 108 | |
| yuji8822 | 8:1d1b8298f0cd | 109 | |
| yuji8822 | 8:1d1b8298f0cd | 110 | |
| yuji8822 | 8:1d1b8298f0cd | 111 | if((ButtonState >> BUTTONUP)&1) |
| yuji8822 | 8:1d1b8298f0cd | 112 | { |
| yuji8822 | 8:1d1b8298f0cd | 113 | motorL(1,0.6); |
| yuji8822 | 8:1d1b8298f0cd | 114 | motorR(1,0.6); |
| yuji8822 | 8:1d1b8298f0cd | 115 | } |
| yuji8822 | 8:1d1b8298f0cd | 116 | |
| yuji8822 | 8:1d1b8298f0cd | 117 | else if((ButtonState >> BUTTONLEFT)&1) |
| yuji8822 | 8:1d1b8298f0cd | 118 | { |
| yuji8822 | 8:1d1b8298f0cd | 119 | motorL(1,0.4); |
| yuji8822 | 8:1d1b8298f0cd | 120 | motorR(1,0.8); |
| yuji8822 | 8:1d1b8298f0cd | 121 | } |
| yuji8822 | 8:1d1b8298f0cd | 122 | |
| yuji8822 | 8:1d1b8298f0cd | 123 | else if((ButtonState >> BUTTONRIGHT)&1) |
| yuji8822 | 8:1d1b8298f0cd | 124 | { |
| yuji8822 | 8:1d1b8298f0cd | 125 | motorL(1,0.8); |
| yuji8822 | 8:1d1b8298f0cd | 126 | motorR(1,0.4); |
| yuji8822 | 8:1d1b8298f0cd | 127 | } |
| yuji8822 | 8:1d1b8298f0cd | 128 | |
| yuji8822 | 8:1d1b8298f0cd | 129 | else if((ButtonState >> BUTTONDOWN)&1) |
| yuji8822 | 8:1d1b8298f0cd | 130 | { |
| yuji8822 | 8:1d1b8298f0cd | 131 | motorL(2,0.6); |
| yuji8822 | 8:1d1b8298f0cd | 132 | motorR(2,0.6); |
| yuji8822 | 8:1d1b8298f0cd | 133 | } |
| yuji8822 | 8:1d1b8298f0cd | 134 | |
| yuji8822 | 8:1d1b8298f0cd | 135 | else if((ButtonState >> BUTTONR1)&1) |
| yuji8822 | 8:1d1b8298f0cd | 136 | { |
| yuji8822 | 9:0b1bd6a05321 | 137 | motorL(1,0.6); |
| yuji8822 | 9:0b1bd6a05321 | 138 | motorR(2,0.6); |
| yuji8822 | 8:1d1b8298f0cd | 139 | } |
| yuji8822 | 8:1d1b8298f0cd | 140 | |
| yuji8822 | 8:1d1b8298f0cd | 141 | else if((ButtonState >> BUTTONL1)&1) |
| yuji8822 | 8:1d1b8298f0cd | 142 | { |
| yuji8822 | 9:0b1bd6a05321 | 143 | motorL(2,0.6); |
| yuji8822 | 9:0b1bd6a05321 | 144 | motorR(1,0.6); |
| yuji8822 | 9:0b1bd6a05321 | 145 | } |
| yuji8822 | 9:0b1bd6a05321 | 146 | |
| yuji8822 | 9:0b1bd6a05321 | 147 | else if((ButtonState >> BUTTONSQUARE)&1) |
| yuji8822 | 9:0b1bd6a05321 | 148 | { |
| yuji8822 | 9:0b1bd6a05321 | 149 | launch1=0.9; |
| yuji8822 | 9:0b1bd6a05321 | 150 | launch2=0; |
| yuji8822 | 9:0b1bd6a05321 | 151 | } |
| yuji8822 | 9:0b1bd6a05321 | 152 | |
| yuji8822 | 9:0b1bd6a05321 | 153 | else if((ButtonState >> BUTTONCROSS)&1) |
| yuji8822 | 9:0b1bd6a05321 | 154 | { |
| yuji8822 | 9:0b1bd6a05321 | 155 | launch1=0; |
| yuji8822 | 9:0b1bd6a05321 | 156 | launch2=0.9; |
| yuji8822 | 8:1d1b8298f0cd | 157 | } |
| yuji8822 | 8:1d1b8298f0cd | 158 | |
| yuji8822 | 9:0b1bd6a05321 | 159 | else if((ButtonState >> BUTTONCROSS)&1) |
| yuji8822 | 9:0b1bd6a05321 | 160 | { |
| yuji8822 | 9:0b1bd6a05321 | 161 | if((ButtonState >> BUTTONSQUARE)&1) |
| yuji8822 | 9:0b1bd6a05321 | 162 | { |
| yuji8822 | 9:0b1bd6a05321 | 163 | launch1=0; |
| yuji8822 | 9:0b1bd6a05321 | 164 | launch2=0; |
| yuji8822 | 9:0b1bd6a05321 | 165 | } |
| yuji8822 | 9:0b1bd6a05321 | 166 | } |
| yuji8822 | 9:0b1bd6a05321 | 167 | |
| yuji8822 | 9:0b1bd6a05321 | 168 | else if((ButtonState >> BUTTONSQUARE)&1) |
| yuji8822 | 9:0b1bd6a05321 | 169 | { |
| yuji8822 | 9:0b1bd6a05321 | 170 | if((ButtonState >> BUTTONCROSS)&1) |
| yuji8822 | 9:0b1bd6a05321 | 171 | { |
| yuji8822 | 9:0b1bd6a05321 | 172 | launch1=0; |
| yuji8822 | 9:0b1bd6a05321 | 173 | launch2=0; |
| yuji8822 | 9:0b1bd6a05321 | 174 | |
| yuji8822 | 9:0b1bd6a05321 | 175 | } |
| yuji8822 | 9:0b1bd6a05321 | 176 | |
| yuji8822 | 9:0b1bd6a05321 | 177 | } |
| yuji8822 | 8:1d1b8298f0cd | 178 | |
| yuji8822 | 8:1d1b8298f0cd | 179 | |
| yuji8822 | 8:1d1b8298f0cd | 180 | //ここより下にANALOGのプログラムを書く |
| yuji8822 | 8:1d1b8298f0cd | 181 | //ここより下にANALOGのプログラムを書く |
| yuji8822 | 8:1d1b8298f0cd | 182 | |
| yuji8822 | 8:1d1b8298f0cd | 183 | //left up , right up |
| yuji8822 | 8:1d1b8298f0cd | 184 | else if(LSX/256.0f>0.3 && LSX/256.0f<0.7 && LSY/256.0f<0.3 && |
| yuji8822 | 8:1d1b8298f0cd | 185 | RSX/256.0f>0.3 && RSX/256.0f<0.7 && RSY/256.0f<0.3) |
| yuji8822 | 8:1d1b8298f0cd | 186 | { |
| yuji8822 | 9:0b1bd6a05321 | 187 | motorR(1,0.9); |
| yuji8822 | 9:0b1bd6a05321 | 188 | motorL(1,0.9); |
| yuji8822 | 8:1d1b8298f0cd | 189 | } |
| yuji8822 | 8:1d1b8298f0cd | 190 | |
| yuji8822 | 8:1d1b8298f0cd | 191 | //left down, right down |
| yuji8822 | 8:1d1b8298f0cd | 192 | |
| yuji8822 | 8:1d1b8298f0cd | 193 | else if(LSX/256.0f>0.3 && LSX/256.0f<0.7 && LSY/256.0f>0.7 && |
| yuji8822 | 8:1d1b8298f0cd | 194 | RSX/256.0f>0.3 && RSX/256.0f<0.7 && RSY/256.0f>0.7) |
| yuji8822 | 8:1d1b8298f0cd | 195 | { |
| yuji8822 | 9:0b1bd6a05321 | 196 | motorR(2,0.9); |
| yuji8822 | 9:0b1bd6a05321 | 197 | motorL(2,0.9); |
| yuji8822 | 8:1d1b8298f0cd | 198 | } |
| yuji8822 | 8:1d1b8298f0cd | 199 | |
| yuji8822 | 8:1d1b8298f0cd | 200 | // left up , right down |
| yuji8822 | 8:1d1b8298f0cd | 201 | else if(LSX/256.0f>0.3 && LSX/256.0f<0.7 && LSY/256.0f<0.3 && |
| yuji8822 | 8:1d1b8298f0cd | 202 | RSX/256.0f>0.3 && RSX/256.0f<0.7 && RSY/256.0f>0.7) |
| yuji8822 | 8:1d1b8298f0cd | 203 | { |
| yuji8822 | 9:0b1bd6a05321 | 204 | motorL(1,0.9); |
| yuji8822 | 9:0b1bd6a05321 | 205 | motorR(2,0.9); |
| yuji8822 | 8:1d1b8298f0cd | 206 | } |
| yuji8822 | 8:1d1b8298f0cd | 207 | |
| yuji8822 | 8:1d1b8298f0cd | 208 | // left down, right up |
| yuji8822 | 8:1d1b8298f0cd | 209 | |
| yuji8822 | 8:1d1b8298f0cd | 210 | else if(LSX/256.0f>0.3 && LSX/256.0f<0.7 && LSY/256.0f>0.7 && |
| yuji8822 | 8:1d1b8298f0cd | 211 | RSX/256.0f>0.3 && RSX/256.0f<0.7 && RSY/256.0f<0.3) |
| yuji8822 | 8:1d1b8298f0cd | 212 | { |
| yuji8822 | 9:0b1bd6a05321 | 213 | motorL(2,0.9); |
| yuji8822 | 9:0b1bd6a05321 | 214 | motorR(1,0.9); |
| yuji8822 | 8:1d1b8298f0cd | 215 | } |
| yuji8822 | 8:1d1b8298f0cd | 216 | |
| yuji8822 | 8:1d1b8298f0cd | 217 | |
| yuji8822 | 8:1d1b8298f0cd | 218 | else { |
| yuji8822 | 8:1d1b8298f0cd | 219 | motorL(0,0); |
| yuji8822 | 9:0b1bd6a05321 | 220 | motorR(0,0); |
| yuji8822 | 9:0b1bd6a05321 | 221 | launch1=0; |
| yuji8822 | 9:0b1bd6a05321 | 222 | launch2=0; |
| yuji8822 | 8:1d1b8298f0cd | 223 | } |
| yuji8822 | 8:1d1b8298f0cd | 224 | |
| yuji8822 | 8:1d1b8298f0cd | 225 | |
| yuji8822 | 9:0b1bd6a05321 | 226 | //led1=LSX/256.0f; |
| yuji8822 | 9:0b1bd6a05321 | 227 | //led2=LSY/256.0f; |
| hirokimineshita | 0:736c76a75def | 228 | led3=ButtonState & 0x0400; //L1の状態 |
| hirokimineshita | 0:736c76a75def | 229 | led4=ButtonState & 0x0800; //R1の状態 |
| hirokimineshita | 0:736c76a75def | 230 | //値の取得はps3.hを参照 |
| yuji8822 | 8:1d1b8298f0cd | 231 | } |
| yuji8822 | 8:1d1b8298f0cd | 232 |
