中継機能つけた受け取りオムニ

Dependencies:   mbed MultiSerial

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();