KEIS

Dependencies:   C12832_lcd mbed

Revision:
0:acb42df924ce
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Wed Oct 02 03:53:32 2013 +0000
@@ -0,0 +1,85 @@
+/* PC=router divce, mbed=cordinator */
+/* */
+/* */ 
+
+#include "mbed.h"
+#include "C12832_lcd.h"
+
+Serial pc(USBTX, USBRX); // tx, rx
+Serial device(p9, p10);  // tx, rx
+C12832_LCD lcd;
+DigitalOut myled(LED1);
+DigitalIn fire(p14);
+int pkt_phase=0;
+int pkt_count=0;
+char* ch[16]={"0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"};
+char v_val[2];
+int num_Xbee=0;
+
+void dev_rx () {
+    char val;
+    int tmp1,tmp2;
+        
+    myled=1;
+    val=device.getc();
+    pkt_count++;
+    if(pkt_phase==0 && val==0x7E){
+        pkt_phase=1;
+        pkt_count=1;
+    }
+    
+    if(pkt_phase==1 && pkt_count==4){
+        if( val==0x92 ){
+            pkt_phase=2;
+        }else{
+            pkt_count=0;
+            pkt_phase=0;
+        }
+    }
+    
+    if(pkt_phase==2 && pkt_count==12){
+        if( val==0x77){
+            pkt_phase=3;
+        }else{
+            pkt_count=0;
+            pkt_phase=0;
+        }
+    }
+    
+    if(pkt_phase==3 && pkt_count==22){
+        pkt_phase=4;
+        v_val[0]=val;
+    }
+    
+    if(pkt_phase==4 && pkt_count==23){
+        pkt_phase=0;
+        pkt_count=0;
+        v_val[1]=val;
+        lcd.locate(0,3);
+        lcd.printf("v_val1:%x%x ",v_val[0],v_val[1]);
+    }
+    
+    
+    tmp1 = val/16;
+    tmp2 = val%16;
+    pc.printf("%s%s",ch[tmp1],ch[tmp2]);
+    //wait(.2);
+    myled=0;
+    
+    
+}
+
+int main() {
+
+    lcd.cls();
+    lcd.locate(0,0);
+    myled=0;
+    
+  //  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};
+  //  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};
+    
+    device.attach(&dev_rx, Serial::RxIrq);
+    
+
+    
+}