Kiyoshi Hayakawa / Mbed 2 deprecated lux-1data-Xbee-API

Dependencies:   C12832_lcd mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 /* PC=router divce, mbed=cordinator */
00002 /* */
00003 /* */ 
00004 
00005 #include "mbed.h"
00006 #include "C12832_lcd.h"
00007 
00008 Serial pc(USBTX, USBRX); // tx, rx
00009 Serial device(p9, p10);  // tx, rx
00010 C12832_LCD lcd;
00011 DigitalOut myled(LED1);
00012 DigitalIn fire(p14);
00013 int pkt_phase=0;
00014 int pkt_count=0;
00015 char* ch[16]={"0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"};
00016 char v_val[2];
00017 int num_Xbee=0;
00018 
00019 void dev_rx () {
00020     char val;
00021     int tmp1,tmp2;
00022         
00023     myled=1;
00024     val=device.getc();
00025     pkt_count++;
00026     if(pkt_phase==0 && val==0x7E){
00027         pkt_phase=1;
00028         pkt_count=1;
00029     }
00030     
00031     if(pkt_phase==1 && pkt_count==4){
00032         if( val==0x92 ){
00033             pkt_phase=2;
00034         }else{
00035             pkt_count=0;
00036             pkt_phase=0;
00037         }
00038     }
00039     
00040     if(pkt_phase==2 && pkt_count==12){
00041         if( val==0x77){
00042             pkt_phase=3;
00043         }else{
00044             pkt_count=0;
00045             pkt_phase=0;
00046         }
00047     }
00048     
00049     if(pkt_phase==3 && pkt_count==22){
00050         pkt_phase=4;
00051         v_val[0]=val;
00052     }
00053     
00054     if(pkt_phase==4 && pkt_count==23){
00055         pkt_phase=0;
00056         pkt_count=0;
00057         v_val[1]=val;
00058         lcd.locate(0,3);
00059         lcd.printf("v_val1:%x%x ",v_val[0],v_val[1]);
00060     }
00061     
00062     
00063     tmp1 = val/16;
00064     tmp2 = val%16;
00065     pc.printf("%s%s",ch[tmp1],ch[tmp2]);
00066     //wait(.2);
00067     myled=0;
00068     
00069     
00070 }
00071 
00072 int main() {
00073 
00074     lcd.cls();
00075     lcd.locate(0,0);
00076     myled=0;
00077     
00078   //  int sd_data_on[20]={0x7E,0x00,0x10,0x17,0x01,0x00,0x13,0xA2,0x00,0x40,0x92,0xFF,0x77,0xFF,0xFE,0x02,0x44,0x32,0x05,0x70};
00079   //  int sd_data_off[20]={0x7E,0x00,0x10,0x17,0x01,0x00,0x13,0xA2,0x00,0x40,0x92,0xFF,0x77,0xFF,0xFE,0x02,0x44,0x32,0x04,0x71};
00080     
00081     device.attach(&dev_rx, Serial::RxIrq);
00082     
00083 
00084     
00085 }