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

Dependencies:   mbed MultiSerial

Committer:
Hatter
Date:
Tue Aug 19 11:24:13 2014 +0000
Revision:
2:d0de0fab161f
Parent:
1:5d4aec3f0651
Child:
3:1f1498403eec
bug fix;

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 0:fddd018033fb 9 * data 5~8 arm
Hatter 0:fddd018033fb 10 * data 1~4:omni
Hatter 0:fddd018033fb 11 * reset 0
Hatter 0:fddd018033fb 12 */
Hatter 0:fddd018033fb 13
Hatter 0:fddd018033fb 14 #include "mbed.h"
Hatter 0:fddd018033fb 15 #include <math.h>
Hatter 0:fddd018033fb 16 #include "RawSerial.h"
Hatter 0:fddd018033fb 17
Hatter 0:fddd018033fb 18 DigitalOut check(LED1);
Hatter 0:fddd018033fb 19 BusOut motors(p21,p22,p23,p24,p25,p26,p27,p28);
Hatter 0:fddd018033fb 20
Hatter 0:fddd018033fb 21 I2C armMbed(p9,p10);
Hatter 0:fddd018033fb 22 RawSerial xbee(p13,p14);
Hatter 0:fddd018033fb 23
Hatter 0:fddd018033fb 24 //i2c init
Hatter 0:fddd018033fb 25
Hatter 0:fddd018033fb 26 int addr = 0x01;
Hatter 0:fddd018033fb 27 char buff[1];
Hatter 0:fddd018033fb 28
Hatter 0:fddd018033fb 29 uint8_t value=0;
Hatter 0:fddd018033fb 30 uint8_t omni_value=0;
Hatter 0:fddd018033fb 31
Hatter 0:fddd018033fb 32 //armMbed.frequency(10000);
Hatter 0:fddd018033fb 33
Hatter 0:fddd018033fb 34 void getData() //serial xbee to mbed
Hatter 0:fddd018033fb 35 {
Hatter 0:fddd018033fb 36 value = xbee.getc();
Hatter 1:5d4aec3f0651 37
Hatter 0:fddd018033fb 38 buff[0]=value>>4;
Hatter 0:fddd018033fb 39 omni_value=value<<4;
Hatter 0:fddd018033fb 40 armMbed.write(addr,buff,1);
Hatter 0:fddd018033fb 41 }
Hatter 0:fddd018033fb 42
Hatter 0:fddd018033fb 43 int main()
Hatter 0:fddd018033fb 44 {
Hatter 2:d0de0fab161f 45 xbee.attach(&getData, RawSerial::RxIrq);
Hatter 0:fddd018033fb 46
Hatter 0:fddd018033fb 47 for(;;){
Hatter 0:fddd018033fb 48 if(omni_value==0x0) motors = 0;
Hatter 0:fddd018033fb 49 if(omni_value&0x10) motors = 0x05; //p21,p23
Hatter 0:fddd018033fb 50 if(omni_value&0x20) motors = 0x0A; //p22,p24
Hatter 0:fddd018033fb 51 if(omni_value&0x40) motors = 0x50; //p25,p27
Hatter 0:fddd018033fb 52 if(omni_value&0x80) motors = 0xA0; //p26,p28
Hatter 0:fddd018033fb 53
Hatter 0:fddd018033fb 54 check = !check;
Hatter 0:fddd018033fb 55 }
Hatter 0:fddd018033fb 56 }