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
User.cpp@19:4058485b5bb3, 2019-10-31 (annotated)
- 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?
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 | #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 | } |