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.
main.cpp@0:4289fbe66d45, 2020-06-21 (annotated)
- Committer:
- Kize
- Date:
- Sun Jun 21 01:48:47 2020 +0000
- Revision:
- 0:4289fbe66d45
new commit
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| Kize | 0:4289fbe66d45 | 1 | #include "mbedserial.h" |
| Kize | 0:4289fbe66d45 | 2 | #include "dualshock3.h" |
| Kize | 0:4289fbe66d45 | 3 | |
| Kize | 0:4289fbe66d45 | 4 | Dualshock3 controller(D1,D0); |
| Kize | 0:4289fbe66d45 | 5 | Serial pc(USBTX,USBRX,115200); |
| Kize | 0:4289fbe66d45 | 6 | Mbedserial Ms(pc); |
| Kize | 0:4289fbe66d45 | 7 | |
| Kize | 0:4289fbe66d45 | 8 | /* |
| Kize | 0:4289fbe66d45 | 9 | void CallBack_float(); |
| Kize | 0:4289fbe66d45 | 10 | void CallBack_int(); |
| Kize | 0:4289fbe66d45 | 11 | void CallBack_char(); |
| Kize | 0:4289fbe66d45 | 12 | */ |
| Kize | 0:4289fbe66d45 | 13 | |
| Kize | 0:4289fbe66d45 | 14 | int main(){ |
| Kize | 0:4289fbe66d45 | 15 | //受信コールバック関数の設定 |
| Kize | 0:4289fbe66d45 | 16 | /* |
| Kize | 0:4289fbe66d45 | 17 | Ms.float_attach(CallBack_float); |
| Kize | 0:4289fbe66d45 | 18 | Ms.int_attach(CallBack_int); |
| Kize | 0:4289fbe66d45 | 19 | Ms.char_attach(CallBack_char); |
| Kize | 0:4289fbe66d45 | 20 | */ |
| Kize | 0:4289fbe66d45 | 21 | |
| Kize | 0:4289fbe66d45 | 22 | //ボーレート(通信速度)を2400bpsに設定 |
| Kize | 0:4289fbe66d45 | 23 | controller.set_baudrate(2400); |
| Kize | 0:4289fbe66d45 | 24 | //dualshock3との通信開始 |
| Kize | 0:4289fbe66d45 | 25 | controller.initialize(); |
| Kize | 0:4289fbe66d45 | 26 | |
| Kize | 0:4289fbe66d45 | 27 | // int data[2] = {70,70}; |
| Kize | 0:4289fbe66d45 | 28 | int buttons_info[14] = {}; |
| Kize | 0:4289fbe66d45 | 29 | float sticks_info[4] = {}; |
| Kize | 0:4289fbe66d45 | 30 | |
| Kize | 0:4289fbe66d45 | 31 | while(1){ |
| Kize | 0:4289fbe66d45 | 32 | controller.get_all_buttons_info(buttons_info); |
| Kize | 0:4289fbe66d45 | 33 | controller.get_all_sticks_info(sticks_info); |
| Kize | 0:4289fbe66d45 | 34 | /* |
| Kize | 0:4289fbe66d45 | 35 | pc.printf("buttons:"); |
| Kize | 0:4289fbe66d45 | 36 | for(int i=0;i<14;i++){ |
| Kize | 0:4289fbe66d45 | 37 | pc.printf("%d ",buttons_info[i]); |
| Kize | 0:4289fbe66d45 | 38 | } |
| Kize | 0:4289fbe66d45 | 39 | pc.printf("\r\n"); |
| Kize | 0:4289fbe66d45 | 40 | pc.printf("sticks:"); |
| Kize | 0:4289fbe66d45 | 41 | for(int i=0;i<4;i++){ |
| Kize | 0:4289fbe66d45 | 42 | pc.printf("%f_",sticks_info[i]); |
| Kize | 0:4289fbe66d45 | 43 | } |
| Kize | 0:4289fbe66d45 | 44 | pc.printf("\r\n"); |
| Kize | 0:4289fbe66d45 | 45 | */ |
| Kize | 0:4289fbe66d45 | 46 | /* |
| Kize | 0:4289fbe66d45 | 47 | printf("L_x = %.2f ", controller.get_left_stick_x()); |
| Kize | 0:4289fbe66d45 | 48 | printf("L_y = %.2f ", controller.get_left_stick_y()); |
| Kize | 0:4289fbe66d45 | 49 | printf("R_x = %.2f ", controller.get_right_stick_x()); |
| Kize | 0:4289fbe66d45 | 50 | printf("R_y = %.2f\r\n", controller.get_right_stick_y()); |
| Kize | 0:4289fbe66d45 | 51 | */ |
| Kize | 0:4289fbe66d45 | 52 | Ms.int_write(buttons_info,14); |
| Kize | 0:4289fbe66d45 | 53 | wait(0.5); |
| Kize | 0:4289fbe66d45 | 54 | Ms.float_write(sticks_info,4); |
| Kize | 0:4289fbe66d45 | 55 | wait(0.5); |
| Kize | 0:4289fbe66d45 | 56 | |
| Kize | 0:4289fbe66d45 | 57 | // Ms.int_write(data,2); |
| Kize | 0:4289fbe66d45 | 58 | /* |
| Kize | 0:4289fbe66d45 | 59 | if(data[0]<73) |
| Kize | 0:4289fbe66d45 | 60 | data[0]++; |
| Kize | 0:4289fbe66d45 | 61 | else |
| Kize | 0:4289fbe66d45 | 62 | data[0]-=3; |
| Kize | 0:4289fbe66d45 | 63 | if(data[1]>70) |
| Kize | 0:4289fbe66d45 | 64 | data[1]--; |
| Kize | 0:4289fbe66d45 | 65 | else |
| Kize | 0:4289fbe66d45 | 66 | data[1]+=3; |
| Kize | 0:4289fbe66d45 | 67 | */ |
| Kize | 0:4289fbe66d45 | 68 | |
| Kize | 0:4289fbe66d45 | 69 | //ループの最後に呼ぶこと |
| Kize | 0:4289fbe66d45 | 70 | controller.clear(); |
| Kize | 0:4289fbe66d45 | 71 | wait(0.1); |
| Kize | 0:4289fbe66d45 | 72 | } |
| Kize | 0:4289fbe66d45 | 73 | } |
| Kize | 0:4289fbe66d45 | 74 | |
| Kize | 0:4289fbe66d45 | 75 | /* |
| Kize | 0:4289fbe66d45 | 76 | void CallBack_float(){ |
| Kize | 0:4289fbe66d45 | 77 | //受信 |
| Kize | 0:4289fbe66d45 | 78 | //配列サイズを取得 |
| Kize | 0:4289fbe66d45 | 79 | int size = Ms.floatarraysize; |
| Kize | 0:4289fbe66d45 | 80 | //データを取得 |
| Kize | 0:4289fbe66d45 | 81 | float *f = Ms.getfloat; |
| Kize | 0:4289fbe66d45 | 82 | //送信 |
| Kize | 0:4289fbe66d45 | 83 | Ms.float_write(f,size); |
| Kize | 0:4289fbe66d45 | 84 | } |
| Kize | 0:4289fbe66d45 | 85 | |
| Kize | 0:4289fbe66d45 | 86 | void CallBack_int(){ |
| Kize | 0:4289fbe66d45 | 87 | //受信 |
| Kize | 0:4289fbe66d45 | 88 | //配列サイズを取得 |
| Kize | 0:4289fbe66d45 | 89 | int size = Ms.intarraysize; |
| Kize | 0:4289fbe66d45 | 90 | //データを取得 |
| Kize | 0:4289fbe66d45 | 91 | int *i = Ms.getint; |
| Kize | 0:4289fbe66d45 | 92 | //送信 |
| Kize | 0:4289fbe66d45 | 93 | Ms.int_write(i,size); |
| Kize | 0:4289fbe66d45 | 94 | } |
| Kize | 0:4289fbe66d45 | 95 | |
| Kize | 0:4289fbe66d45 | 96 | void CallBack_char(){ |
| Kize | 0:4289fbe66d45 | 97 | //受信 |
| Kize | 0:4289fbe66d45 | 98 | //配列サイズを取得 |
| Kize | 0:4289fbe66d45 | 99 | int size = Ms.chararraysize; |
| Kize | 0:4289fbe66d45 | 100 | //データを取得 |
| Kize | 0:4289fbe66d45 | 101 | char *c = Ms.getchar; |
| Kize | 0:4289fbe66d45 | 102 | //送信 |
| Kize | 0:4289fbe66d45 | 103 | Ms.char_write(c,size); |
| Kize | 0:4289fbe66d45 | 104 | } |
| Kize | 0:4289fbe66d45 | 105 | */ |