右側のほうのセンサLPC1114FN28 fumiya版

Dependencies:   IRM2121_2 Ping mbed HMC6352 Watchdog

Fork of CatPot_SensorRight by CatPot 2015-2016

Committer:
ryuna
Date:
Wed Mar 11 01:03:39 2015 +0000
Revision:
16:83721dac1049
without multiserial;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ryuna 16:83721dac1049 1 #include "mbed.h"
ryuna 16:83721dac1049 2
ryuna 16:83721dac1049 3 #define KEYCODE 0xAA
ryuna 16:83721dac1049 4 #define TX_CHECKCODE (tx_data[1]^tx_data[2]^tx_data[3]^tx_data[4]^tx_data[5]^tx_data[6]^tx_data[7]^tx_data[8]^tx_data[9])
ryuna 16:83721dac1049 5 #define RX_CHECKCODE (rx_data[1]^rx_data[2]^rx_data[3]^rx_data[4]^rx_data[5]^rx_data[6]^rx_data[7]^rx_data[8]^rx_data[9])
ryuna 16:83721dac1049 6 #define DATA_NUM 11
ryuna 16:83721dac1049 7 #define CHECK (DATA_NUM - 1)
ryuna 16:83721dac1049 8
ryuna 16:83721dac1049 9
ryuna 16:83721dac1049 10 extern Serial Mbed;
ryuna 16:83721dac1049 11 extern Serial pc;
ryuna 16:83721dac1049 12 extern uint8_t PingData[4];
ryuna 16:83721dac1049 13 extern uint8_t IrData[3];
ryuna 16:83721dac1049 14 extern uint8_t CompassData[2];
ryuna 16:83721dac1049 15 /*
ryuna 16:83721dac1049 16 void micon_rx(){
ryuna 16:83721dac1049 17
ryuna 16:83721dac1049 18 static uint8_t rx;
ryuna 16:83721dac1049 19 static uint8_t rx_data[DATA_NUM];
ryuna 16:83721dac1049 20
ryuna 16:83721dac1049 21 rx_data[rx] = sensor.getc();
ryuna 16:83721dac1049 22
ryuna 16:83721dac1049 23 if(rx_data[0] == KEYCODE){
ryuna 16:83721dac1049 24 rx++;
ryuna 16:83721dac1049 25 }
ryuna 16:83721dac1049 26
ryuna 16:83721dac1049 27 if(rx >= DATA_NUM){
ryuna 16:83721dac1049 28 if(rx_data[CHECK] == RX_CHECKCODE){
ryuna 16:83721dac1049 29 pc.printf("%d %d %d %d %d\n", rx_data[1], rx_data[2], rx_data[3], rx_data[4], rx_data[5]);
ryuna 16:83721dac1049 30 }
ryuna 16:83721dac1049 31 rx = 0;
ryuna 16:83721dac1049 32 }
ryuna 16:83721dac1049 33
ryuna 16:83721dac1049 34 }
ryuna 16:83721dac1049 35 */
ryuna 16:83721dac1049 36 void micon_tx(){
ryuna 16:83721dac1049 37
ryuna 16:83721dac1049 38 static uint8_t tx;
ryuna 16:83721dac1049 39 static uint8_t tx_data[DATA_NUM];
ryuna 16:83721dac1049 40
ryuna 16:83721dac1049 41 if(tx >= DATA_NUM){
ryuna 16:83721dac1049 42
ryuna 16:83721dac1049 43 tx_data[0] = KEYCODE;
ryuna 16:83721dac1049 44 tx_data[1] = IrData[0];
ryuna 16:83721dac1049 45 tx_data[2] = IrData[1];
ryuna 16:83721dac1049 46 tx_data[3] = IrData[2];
ryuna 16:83721dac1049 47 tx_data[4] = PingData[0];
ryuna 16:83721dac1049 48 tx_data[5] = PingData[1];
ryuna 16:83721dac1049 49 tx_data[6] = PingData[2];
ryuna 16:83721dac1049 50 tx_data[7] = PingData[3];
ryuna 16:83721dac1049 51 tx_data[8] = CompassData[0];
ryuna 16:83721dac1049 52 tx_data[9] = CompassData[1];
ryuna 16:83721dac1049 53 tx_data[10] = TX_CHECKCODE;
ryuna 16:83721dac1049 54
ryuna 16:83721dac1049 55 tx = 0;
ryuna 16:83721dac1049 56
ryuna 16:83721dac1049 57 //pc.printf("%d %d %d %d\n",PingData[0],PingData[1],PingData[2],PingData[3]);
ryuna 16:83721dac1049 58 }
ryuna 16:83721dac1049 59
ryuna 16:83721dac1049 60
ryuna 16:83721dac1049 61 Mbed.putc(tx_data[tx]);
ryuna 16:83721dac1049 62 tx++;
ryuna 16:83721dac1049 63 //wait(0.1);
ryuna 16:83721dac1049 64 }