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

Dependencies:   mbed MultiSerial

Committer:
Hatter
Date:
Mon Sep 01 02:06:55 2014 +0000
Revision:
7:07863c4a74b8
Parent:
6:26e5a520472d
Child:
8:ee465babfd98
typo

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Hatter 0:fddd018033fb 1 /*
Hatter 0:fddd018033fb 2 * 4WD_OMNI_simple by Tomoki Hokida
Hatter 0:fddd018033fb 3 * Simple Type
Hatter 0:fddd018033fb 4 *
Hatter 0:fddd018033fb 5 * motor pins piar
Hatter 0:fddd018033fb 6 * motor(p21,p22):motor(p23,p24)
Hatter 0:fddd018033fb 7 * motor(p25,p26):motor(p27,p28)
Hatter 0:fddd018033fb 8 * 通信中継用
Hatter 6:26e5a520472d 9 * data[0]:arm
Hatter 6:26e5a520472d 10 * data[1]:omni
Hatter 0:fddd018033fb 11 * reset 0
Hatter 0:fddd018033fb 12 */
Hatter 0:fddd018033fb 13
Hatter 0:fddd018033fb 14 #include "mbed.h"
Hatter 6:26e5a520472d 15 #include "MultiSerial.h"
Hatter 0:fddd018033fb 16
Hatter 6:26e5a520472d 17 #define DATA_NUM 2 //DATA_NUM[byte]通信
Hatter 6:26e5a520472d 18 #define XBEE_KEY 0xAA//keycode
Hatter 6:26e5a520472d 19 #define ARM_KEY 0x0A
Hatter 3:1f1498403eec 20
Hatter 0:fddd018033fb 21 DigitalOut check(LED1);
Hatter 6:26e5a520472d 22 DigitalOut arm_check(LED2);
Hatter 6:26e5a520472d 23
Hatter 0:fddd018033fb 24 BusOut motors(p21,p22,p23,p24,p25,p26,p27,p28);
Hatter 0:fddd018033fb 25
Hatter 6:26e5a520472d 26 //I2C armMbed(p9,p10);
Hatter 0:fddd018033fb 27
Hatter 6:26e5a520472d 28 MultiSerial xbee(p13,p14);
Hatter 6:26e5a520472d 29 MultiSerial armMbed(p9,p10);
Hatter 0:fddd018033fb 30
Hatter 0:fddd018033fb 31 //armMbed.frequency(10000);
Hatter 0:fddd018033fb 32
Hatter 6:26e5a520472d 33 typedef struct{
Hatter 6:26e5a520472d 34
Hatter 6:26e5a520472d 35 uint8_t arm[1];
Hatter 6:26e5a520472d 36 uint8_t leg;
Hatter 4:5da566692b79 37
Hatter 6:26e5a520472d 38 }xbee_packet;
Hatter 6:26e5a520472d 39
Hatter 6:26e5a520472d 40 xbee_packet packet;
Hatter 6:26e5a520472d 41
Hatter 6:26e5a520472d 42 uint8_t get_data[DATA_NUM];
Hatter 0:fddd018033fb 43
Hatter 0:fddd018033fb 44 int main()
Hatter 0:fddd018033fb 45 {
Hatter 6:26e5a520472d 46 //int val;
Hatter 6:26e5a520472d 47
Hatter 6:26e5a520472d 48 xbee_packet *pt_packet=&packet;
Hatter 6:26e5a520472d 49
Hatter 6:26e5a520472d 50 xbee.read(get_data,XBEE_KEY);
Hatter 7:07863c4a74b8 51 armMbed.write(pt_packet->arm,ARM_KEY);
Hatter 7:07863c4a74b8 52
Hatter 0:fddd018033fb 53 for(;;){
Hatter 6:26e5a520472d 54 // xbee.baud(1200);
Hatter 6:26e5a520472d 55
Hatter 6:26e5a520472d 56 memcpy(&packet, get_data, DATA_NUM); //ちょい危険
Hatter 6:26e5a520472d 57
Hatter 6:26e5a520472d 58 if(packet.leg==0x0) motors = 0;
Hatter 6:26e5a520472d 59 if(packet.leg&0x10) motors = 0x05; //p21,p23
Hatter 6:26e5a520472d 60 if(packet.leg&0x20) motors = 0x0A; //p22,p24
Hatter 6:26e5a520472d 61 if(packet.leg&0x40) motors = 0x50; //p25,p27
Hatter 6:26e5a520472d 62 if(packet.leg&0x80) motors = 0xA0; //p26,p28
Hatter 6:26e5a520472d 63
Hatter 6:26e5a520472d 64 // val = armMbed.write(slave_addr,pt_packet->arm,1);
Hatter 6:26e5a520472d 65 // if(!val) i2c_check = 1; else i2c_check = 0;
Hatter 6:26e5a520472d 66
Hatter 6:26e5a520472d 67 check = !check;
Hatter 6:26e5a520472d 68 }
Hatter 0:fddd018033fb 69 }