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

Dependencies:   mbed MultiSerial

Revision:
8:ee465babfd98
Parent:
7:07863c4a74b8
Child:
9:f05f881226a3
--- a/main.cpp	Mon Sep 01 02:06:55 2014 +0000
+++ b/main.cpp	Wed Sep 03 06:25:23 2014 +0000
@@ -14,7 +14,7 @@
 #include "mbed.h"
 #include "MultiSerial.h"
 
-#define DATA_NUM 2 //DATA_NUM[byte]通信
+#define DATA_NUM 2 //DATA_NUM[byte]通信 この値はmemcpy使ってるんでxbee_packet構造体のメモリ数といい感じに合わせるようにしてください
 #define XBEE_KEY 0xAA//keycode
 #define ARM_KEY 0x0A
 
@@ -23,13 +23,10 @@
 
 BusOut motors(p21,p22,p23,p24,p25,p26,p27,p28);
 
-//I2C armMbed(p9,p10);
 
 MultiSerial xbee(p13,p14);
 MultiSerial armMbed(p9,p10);
 
-//armMbed.frequency(10000);
-
 typedef struct{
 
     uint8_t arm[1];
@@ -43,27 +40,24 @@
 
 int main()
 {
-    //int val;
     
     xbee_packet *pt_packet=&packet;
-
-    xbee.read(get_data,XBEE_KEY);
-    armMbed.write(pt_packet->arm,ARM_KEY);
     
     for(;;){
- //       xbee.baud(1200);
+ 
+        check = !check;  
+        
+        xbee.read(get_data,XBEE_KEY);
         
         memcpy(&packet, get_data, DATA_NUM); //ちょい危険
 
+        armMbed.write(pt_packet->arm,ARM_KEY);
+
         if(packet.leg==0x0) motors = 0;
-        if(packet.leg&0x10) motors = 0x05; //p21,p23 
-        if(packet.leg&0x20) motors = 0x0A; //p22,p24 
-        if(packet.leg&0x40) motors = 0x50; //p25,p27        
-        if(packet.leg&0x80) motors = 0xA0; //p26,p28
-        
-//        val = armMbed.write(slave_addr,pt_packet->arm,1);  
-//        if(!val) i2c_check = 1; else i2c_check = 0;
-        
-        check = !check;   
+        if(packet.leg&0x1) motors = 0x05; //p21,p23 
+        if(packet.leg&0x2) motors = 0x0A; //p22,p24 
+        if(packet.leg&0x4) motors = 0x50; //p25,p27        
+        if(packet.leg&0x8) motors = 0xA0; //p26,p28
+         
     }
 }
\ No newline at end of file