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_ver2 by
User.cpp@16:03dd8c0a8d1d, 2017-05-18 (annotated)
- Committer:
- stream3715
- Date:
- Thu May 18 15:29:54 2017 +0000
- Revision:
- 16:03dd8c0a8d1d
- Parent:
- 15:c5258a4dee75
???????
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 | 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 | } |
