![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
zzz
Dependencies: C12832_lcd ConfigFile LM75B WiflyInterface2 mbed-rtos mbed
Fork of Xbee_Hello_World_B by
main.cpp
- Committer:
- kingkingyyk
- Date:
- 2016-09-16
- Revision:
- 1:15d917484a8d
- Parent:
- 0:122702c9168a
- Child:
- 2:ae1a5862504b
File content as of revision 1:15d917484a8d:
#include "mbed.h" #include "xbee.h" #include "C12832_lcd.h" #include <string> #include "EthernetInterface.h" xbee xbee1(p9,p10,p30); //Initalise xbee_lib C12832_LCD lcd; DigitalOut LanLED(LED1); DigitalOut XbeeLED(LED2); DigitalOut LanDataLED(LED3); EthernetInterface eth; bool setupEthernet() { lcd.cls(); lcd.locate(0,0); lcd.printf("Start Ethernet Setup\n"); eth.init("172.16.0.2","255.255.0.0","172.16.0.1"); if(eth.connect()!=0) { lcd.printf("Not connected!\n"); return false; } else { lcd.printf("IP Address : %s\n", eth.getIPAddress()); return true; } } void setupXbee() { lcd.cls(); lcd.locate(0,0); lcd.printf("Start Xbee Setup\n"); xbee1.Reset(); xbee1.ConfigMode(); xbee1.SetPanId(123); int mac [8]; xbee1.GetSerial(mac); xbee1.WriteSettings(); xbee1.ExitConfigMode(); lcd.printf("%d %d %d %d %d %d %d %d\n",mac[0],mac[1],mac[2],mac[3],mac[4],mac[5],mac[6],mac[7]); lcd.printf("Done Setup!\n"); } int main() { bool flag=true; flag=setupEthernet(); LanLED=flag; wait(0.5); setupXbee(); if (flag) { UDPSocket socket; socket.init(); Endpoint server; server.set_address("172.16.0.1",40000); int count=0; char read_data[202]; //Xbee buffer size is 202 bytes while(1) { char temp[202]; XbeeLED=1; xbee1.RecieveData(temp,10); //Read data from the XBee XbeeLED=0; for (int i=0;i<10 && temp[i]!='\0';i++) { if (temp[i]=='|') { count=0; } else if (temp[i]=='&') { string real_data=""; for (int i2=0;i2<count;i2++) { real_data+=read_data[i2]; } lcd.cls(); lcd.locate(0,3); lcd.printf("%s",real_data); LanDataLED=1; socket.sendTo(server,read_data,real_data.length()); LanDataLED=0; count=0; for (int i2=0;i2<202;i2++) { read_data[i2]='\0'; } } else { read_data[count++]=temp[i]; } } } } }