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

Dependencies:   mbed MultiSerial

Revision:
12:6e2ee1c83ac1
Parent:
11:8b1a63a1172a
Child:
13:8a9d3855ab96
--- a/main.cpp	Thu Sep 04 04:51:51 2014 +0000
+++ b/main.cpp	Thu Sep 04 08:50:40 2014 +0000
@@ -1,12 +1,12 @@
 /*
  * 4WD_OMNI_simple  by Tomoki Hokida
- * Simple Type
+* Simple Type
  *
  * motor pins piar
  * motor(p21,p22):motor(p23,p24)
  * motor(p25,p26):motor(p27,p28)
  * 通信中継用
- * data[0]:arm
+ * data[0]:arm 
  * data[1]:omni
  * reset 0
  */
@@ -18,15 +18,19 @@
 #define XBEE_KEY 0xAA//keycode
 #define ARM_KEY 0xAA
 
+#define PWM 1.0
+
 BusOut check(LED1,LED2,LED3,LED4);
 //BusIn sw(p21,p22,p23,p24);
-BusOut motors(p21,p22,p23,p24,p25,p26,p27,p28);
+//BusOut motors(p21,p22,p23,p24,p25,p26,p27,p28);
+BusOut motors(p5,p6,p7,p8);
+
+PwmOut pwm[4]={p21,p22,p23,p24}; 
 
 Serial pc(USBTX,USBRX);
 
-MultiSerial xbee(p13,p14,read);
-
-MultiSerial armMbed(p9,p10,write);
+MultiSerial xbee(p28,p27,read);
+MultiSerial armMbed(p13,p14,write);
 
 typedef struct{
 
@@ -43,37 +47,43 @@
 {
     //sw.mode(PullUp);
     
+    //PWM init
+    pwm[0] = PWM;
+    pwm[1] = PWM;
+    pwm[2] = PWM;
+    pwm[3] = PWM;
+
     xbee_packet *pt_packet=&packet;
-    
+
     xbee.read_data(get_data,XBEE_KEY);        
     int i=0;
     for(;;){
-        
+
         wait_ms(0.1);
-        
-       // get_data[0]=0xFF;
-       // get_data[1]=0x01;    
-              
-        //memcpy(&packet, get_data, DATA_NUM); //ちょい危険
+
+        // get_data[0]=0xFF;
+    // get_data[1]=0x01;    
+
+    //memcpy(&packet, get_data, DATA_NUM); //ちょい危険
 
         packet.arm[0] = get_data[1];
         packet.leg = get_data[0];   
-        
+
         check = get_data[1];
 
+        armMbed.write_data(pt_packet->arm,ARM_KEY);  
+
         if(packet.leg==0x0) motors = 0;
         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
-        
+
         if(i==10e3){ 
             pc.printf(" arm = %d" ,packet.arm[0]);
             pc.printf(" leg = %d" ,packet.leg);
             i=0;
-        }
-        
-        armMbed.write_data(pt_packet->arm,ARM_KEY);                  
+        }                
         i++;
     }
 }
\ No newline at end of file