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@20:3acaf78485fa, 2020-03-02 (annotated)
- Committer:
- o2132613
- Date:
- Mon Mar 02 07:39:54 2020 +0000
- Revision:
- 20:3acaf78485fa
- Parent:
- 19:4058485b5bb3
ver.1 for spring; check pin of CAN;
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; | 
| yuto17320508 | 16:b232fd9ee9c2 | 10 | DigitalOut cs(p8); | 
| o2132613 | 20:3acaf78485fa | 11 | int move,shoot,speed; | 
| o2132613 | 20:3acaf78485fa | 12 | Can controller(,);//CANpin_name | 
| yuto17320508 | 16:b232fd9ee9c2 | 13 | |
| baba2357 | 11:86d717718dbf | 14 | |
| yuto17320508 | 16:b232fd9ee9c2 | 15 | void UserLoopSetting() | 
| yuto17320508 | 16:b232fd9ee9c2 | 16 | { | 
| o2132613 | 20:3acaf78485fa | 17 | |
| hirokimineshita | 0:736c76a75def | 18 | } | 
| yuto17320508 | 16:b232fd9ee9c2 | 19 | void UserLoop(char n,const u8* data) | 
| yuto17320508 | 16:b232fd9ee9c2 | 20 | { | 
| hirokimineshita | 0:736c76a75def | 21 | u16 ButtonState; | 
| yuto17320508 | 16:b232fd9ee9c2 | 22 | if(n==0) { //有線Ps3USB.cpp | 
| hirokimineshita | 0:736c76a75def | 23 | RSX = ((ps3report*)data)->RightStickX; | 
| hirokimineshita | 0:736c76a75def | 24 | RSY = ((ps3report*)data)->RightStickY; | 
| hirokimineshita | 0:736c76a75def | 25 | LSX = ((ps3report*)data)->LeftStickX; | 
| hirokimineshita | 0:736c76a75def | 26 | LSY = ((ps3report*)data)->LeftStickY; | 
| hirokimineshita | 0:736c76a75def | 27 | BSU = (u8)(((ps3report*)data)->ButtonState & 0x00ff); | 
| hirokimineshita | 0:736c76a75def | 28 | BSL = (u8)(((ps3report*)data)->ButtonState >> 8); | 
| hirokimineshita | 0:736c76a75def | 29 | //ボタンの処理 | 
| hirokimineshita | 0:736c76a75def | 30 | ButtonState = ((ps3report*)data)->ButtonState; | 
| yuto17320508 | 16:b232fd9ee9c2 | 31 | } else {//無線TestShell.cpp | 
| hirokimineshita | 0:736c76a75def | 32 | RSX = ((ps3report*)(data + 1))->RightStickX; | 
| hirokimineshita | 0:736c76a75def | 33 | RSY = ((ps3report*)(data + 1))->RightStickY; | 
| hirokimineshita | 0:736c76a75def | 34 | LSX = ((ps3report*)(data + 1))->LeftStickX; | 
| hirokimineshita | 0:736c76a75def | 35 | LSY = ((ps3report*)(data + 1))->LeftStickY; | 
| hirokimineshita | 0:736c76a75def | 36 | BSU = (u8)(((ps3report*)(data + 1))->ButtonState & 0x00ff); | 
| hirokimineshita | 0:736c76a75def | 37 | BSL = (u8)(((ps3report*)(data + 1))->ButtonState >> 8); | 
| hirokimineshita | 0:736c76a75def | 38 | //ボタンの処理 | 
| hirokimineshita | 0:736c76a75def | 39 | ButtonState = ((ps3report*)(data + 1))->ButtonState; | 
| hirokimineshita | 0:736c76a75def | 40 | } | 
| hirokimineshita | 0:736c76a75def | 41 | //ここより下にプログラムを書く | 
| o2132613 | 20:3acaf78485fa | 42 | //CAN通信用プログラム | 
| o2132613 | 20:3acaf78485fa | 43 | move = controller_move(); | 
| o2132613 | 20:3acaf78485fa | 44 | shoot = controller_shoot(); | 
| o2132613 | 20:3acaf78485fa | 45 | speed = controller_speed(); | 
| o2132613 | 20:3acaf78485fa | 46 | controller.write(CANMessage(1,move,1); | 
| o2132613 | 20:3acaf78485fa | 47 | controller.write(CANMessage(2,shoot,1); | 
| o2132613 | 20:3acaf78485fa | 48 | controller.write(CANMessgae(3,speed,1); | 
| o2132613 | 20:3acaf78485fa | 49 | } | 
| o2132613 | 20:3acaf78485fa | 50 | |
| o2132613 | 20:3acaf78485fa | 51 | int controller_move(){ | 
| o2132613 | 19:4058485b5bb3 | 52 | if((ButtonState >> BUTTONUP)&1 == 1&&(ButtonState >> BUTTONL1)&1 == 1)//UPL1 | 
| o2132613 | 19:4058485b5bb3 | 53 | { | 
| o2132613 | 20:3acaf78485fa | 54 | return 9; | 
| o2132613 | 19:4058485b5bb3 | 55 | }else if ((ButtonState >> BUTTONDOWN)&1 == 1&&(ButtonState >> BUTTONR1)&1 == 1)//DownR1 | 
| o2132613 | 19:4058485b5bb3 | 56 | { | 
| o2132613 | 20:3acaf78485fa | 57 | return 3; | 
| o2132613 | 19:4058485b5bb3 | 58 | }else if ((ButtonState >> BUTTONUP)&1 == 1&&(ButtonState >> BUTTONR1)&1 == 1)//UPR1 | 
| o2132613 | 19:4058485b5bb3 | 59 | { | 
| o2132613 | 20:3acaf78485fa | 60 | return 7; | 
| o2132613 | 19:4058485b5bb3 | 61 | }else if ((ButtonState >> BUTTONDOWN)&1 == 1&&(ButtonState >> BUTTONL1)&1 == 1)//DownL1 | 
| o2132613 | 19:4058485b5bb3 | 62 | { | 
| o2132613 | 20:3acaf78485fa | 63 | return 1; | 
| o2132613 | 20:3acaf78485fa | 64 | }else if((ButtonState >> BUTTONUP)&1 == 1) //up | 
| o2132613 | 20:3acaf78485fa | 65 | { | 
| o2132613 | 20:3acaf78485fa | 66 | return 8; | 
| o2132613 | 20:3acaf78485fa | 67 | }else if((ButtonState >> BUTTONDOWN)&1 == 1)//down | 
| o2132613 | 20:3acaf78485fa | 68 | { | 
| o2132613 | 20:3acaf78485fa | 69 | return 2; | 
| o2132613 | 20:3acaf78485fa | 70 | }else if((ButtonState >> BUTTONRIGHT)&1 == 1)//right | 
| o2132613 | 20:3acaf78485fa | 71 | { | 
| o2132613 | 20:3acaf78485fa | 72 | return 6; | 
| o2132613 | 20:3acaf78485fa | 73 | }else if((ButtonState >> BUTTONLEFT)&1 == 1)//left | 
| o2132613 | 20:3acaf78485fa | 74 | { | 
| o2132613 | 20:3acaf78485fa | 75 | return 4; | 
| o2132613 | 20:3acaf78485fa | 76 | }else if((ButtonState >> BUTTONL1)&1 == 1) //L1 | 
| o2132613 | 20:3acaf78485fa | 77 | { | 
| o2132613 | 20:3acaf78485fa | 78 | return 10; | 
| o2132613 | 20:3acaf78485fa | 79 | }else if((ButtonState >> BUTTONR1)&1 == 1) //R1 | 
| o2132613 | 20:3acaf78485fa | 80 | { | 
| o2132613 | 20:3acaf78485fa | 81 | return 11; | 
| o2132613 | 19:4058485b5bb3 | 82 | }else{ | 
| o2132613 | 20:3acaf78485fa | 83 | return 0; | 
| yuto17320508 | 18:2579c275ef57 | 84 | } | 
| o2132613 | 20:3acaf78485fa | 85 | } | 
| o2132613 | 20:3acaf78485fa | 86 | int controller_speed(){ | 
| o2132613 | 19:4058485b5bb3 | 87 | if((ButtonState >> BUTTONL2)&1 == 1&&Speed_Mode>1) {//対応するボタンを書く(今回L2ボタン | 
| o2132613 | 20:3acaf78485fa | 88 | return 1; | 
| o2132613 | 19:4058485b5bb3 | 89 | }else if((ButtonState >> BUTTONR2)&1 == 1&&Speed_Mode<3) {//対応するボタンを書く(今回R2ボタン | 
| o2132613 | 20:3acaf78485fa | 90 | return 2; | 
| o2132613 | 20:3acaf78485fa | 91 | }else{ | 
| o2132613 | 20:3acaf78485fa | 92 | return 0; | 
| yuto17320508 | 18:2579c275ef57 | 93 | } | 
| o2132613 | 20:3acaf78485fa | 94 | } | 
| o2132613 | 20:3acaf78485fa | 95 | int controller_shoot(){ | 
| o2132613 | 20:3acaf78485fa | 96 | if((ButtonState >> BUTTONCIRCLE)&1 == 1) {//O | 
| o2132613 | 20:3acaf78485fa | 97 | return 1; | 
| o2132613 | 20:3acaf78485fa | 98 | } else if((ButtonState >> BUTTONCROSS)&1 == 1) {//X | 
| o2132613 | 20:3acaf78485fa | 99 | return 2; | 
| o2132613 | 20:3acaf78485fa | 100 | }else if((ButtonState >> BUTTONTRIANGLE)&1 == 1) {//△ | 
| o2132613 | 20:3acaf78485fa | 101 | return 3; | 
| o2132613 | 20:3acaf78485fa | 102 | }else if((ButtonState >> BUTTONSQUARE)&1 == 1) {//□ | 
| o2132613 | 20:3acaf78485fa | 103 | return 4; | 
| o2132613 | 20:3acaf78485fa | 104 | }else{ | 
| o2132613 | 20:3acaf78485fa | 105 | return 0; | 
| o2132613 | 20:3acaf78485fa | 106 | } | 
| hirokimineshita | 0:736c76a75def | 107 | } |