Kazufumi Honda / Mbed 2 deprecated RosSerialModule

Dependencies:   mbed

Committer:
Kize
Date:
Sun Jun 21 01:48:47 2020 +0000
Revision:
0:4289fbe66d45
new commit

Who changed what in which revision?

UserRevisionLine numberNew 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 */