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

Dependencies:   mbed MultiSerial

Committer:
Hatter
Date:
Wed Sep 03 06:25:23 2014 +0000
Revision:
8:ee465babfd98
Parent:
7:07863c4a74b8
Child:
9:f05f881226a3
test

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 8:ee465babfd98 17 #define DATA_NUM 2 //DATA_NUM[byte]通信 この値はmemcpy使ってるんでxbee_packet構造体のメモリ数といい感じに合わせるようにしてください
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 0:fddd018033fb 26
Hatter 6:26e5a520472d 27 MultiSerial xbee(p13,p14);
Hatter 6:26e5a520472d 28 MultiSerial armMbed(p9,p10);
Hatter 0:fddd018033fb 29
Hatter 6:26e5a520472d 30 typedef struct{
Hatter 6:26e5a520472d 31
Hatter 6:26e5a520472d 32 uint8_t arm[1];
Hatter 6:26e5a520472d 33 uint8_t leg;
Hatter 4:5da566692b79 34
Hatter 6:26e5a520472d 35 }xbee_packet;
Hatter 6:26e5a520472d 36
Hatter 6:26e5a520472d 37 xbee_packet packet;
Hatter 6:26e5a520472d 38
Hatter 6:26e5a520472d 39 uint8_t get_data[DATA_NUM];
Hatter 0:fddd018033fb 40
Hatter 0:fddd018033fb 41 int main()
Hatter 0:fddd018033fb 42 {
Hatter 6:26e5a520472d 43
Hatter 6:26e5a520472d 44 xbee_packet *pt_packet=&packet;
Hatter 7:07863c4a74b8 45
Hatter 0:fddd018033fb 46 for(;;){
Hatter 8:ee465babfd98 47
Hatter 8:ee465babfd98 48 check = !check;
Hatter 8:ee465babfd98 49
Hatter 8:ee465babfd98 50 xbee.read(get_data,XBEE_KEY);
Hatter 6:26e5a520472d 51
Hatter 6:26e5a520472d 52 memcpy(&packet, get_data, DATA_NUM); //ちょい危険
Hatter 6:26e5a520472d 53
Hatter 8:ee465babfd98 54 armMbed.write(pt_packet->arm,ARM_KEY);
Hatter 8:ee465babfd98 55
Hatter 6:26e5a520472d 56 if(packet.leg==0x0) motors = 0;
Hatter 8:ee465babfd98 57 if(packet.leg&0x1) motors = 0x05; //p21,p23
Hatter 8:ee465babfd98 58 if(packet.leg&0x2) motors = 0x0A; //p22,p24
Hatter 8:ee465babfd98 59 if(packet.leg&0x4) motors = 0x50; //p25,p27
Hatter 8:ee465babfd98 60 if(packet.leg&0x8) motors = 0xA0; //p26,p28
Hatter 8:ee465babfd98 61
Hatter 6:26e5a520472d 62 }
Hatter 0:fddd018033fb 63 }