中継機能つけた受け取りオムニ
Dependencies: mbed MultiSerial
Diff: main.cpp
- Revision:
- 14:731c52eb333b
- Parent:
- 13:8a9d3855ab96
- Child:
- 15:1c1ae4077900
--- a/main.cpp Mon Sep 08 04:13:50 2014 +0000 +++ b/main.cpp Mon Sep 08 07:22:30 2014 +0000 @@ -15,11 +15,11 @@ #include "mbed.h" #include "MultiSerial.h" -#define DATA_NUM 8 //DATA_NUM[byte]通信 この値はmemcpy使ってるんでxbee_packet構造体のメモリ数といい感じに合わせるようにしてください +#define DATA_NUM 2 //DATA_NUM[byte]通信 この値はmemcpy使ってるんでxbee_packet構造体のメモリ数といい感じに合わせるようにしてください #define XBEE_KEY 0xAA //keycode #define ARM_KEY 0xAA -#define PWM 1.0 +#define PWM 0.5 #define PWM_L 0.5 #define PWM_R 0.5 @@ -47,7 +47,6 @@ xbee_packet packet; uint8_t get_data[DATA_NUM]={0}; -uint8_t value[4]; /* Out put PC stdout function */ void pc_print(){ @@ -71,11 +70,6 @@ pwm[2] = PWM; pwm[3] = PWM; - value[0] = PWM_L; - value[1] = PWM_R; - value[2] = PWM_U; - value[3] = PWM_D; - xbee_packet *pt_packet=&packet; xbee.read_data(get_data,XBEE_KEY); @@ -98,21 +92,30 @@ /* PWM */ if((packet.leg>>4)==0){ + + pwm[0] = PWM_L; + pwm[1] = PWM_R; + pwm[2] = PWM_U; + pwm[3] = PWM_D; - for(int i=0;i==4;i++){ - pwm[i] = value[i]; - } + }else{ + + pwm[0] = PWM; + pwm[1] = PWM; + pwm[2] = PWM; + pwm[3] = PWM; + } /* Direction of movement */ - if(packet.leg&0x1) motors = 0x55; //01010101 - if(packet.leg&0x8) motors = 0xAA; //10101010 - if(packet.leg&0x2) motors = 0x5A; //01011010 - if(packet.leg&0x4) motors = 0xA5; //10100101 + if(packet.leg&0x1) motors = 0x55; //01010101 L 接続に気をつけること + if(packet.leg&0x4) motors = 0xAA; //10101010 U 多分モータードライバの信号線をそれぞれ逆にすればOKかな + if(packet.leg&0x2) motors = 0x5A; //01011010 R + if(packet.leg&0x8) motors = 0xA5; //10100101 D /* Turn circling */ - if(packet.leg&0x10) motors = 0x66; //01010101 - if(packet.leg&0x80) motors = 0x99; //10101010 + if(packet.leg&0x10) motors = 0x66; //01100110 + if(packet.leg&0x40) motors = 0x99; //10011001 pc_print();