Hiroshi Yamaguchi / Mbed 2 deprecated XBeeExamples

Dependencies:   mbed XBee mbed-rtos

Revision:
5:d01cf03058f6
Parent:
0:34e0352d7396
--- a/xbee8.cpp	Mon Nov 28 01:59:03 2011 +0000
+++ b/xbee8.cpp	Thu Apr 12 10:21:11 2012 +0000
@@ -1,26 +1,22 @@
 #include "XBee.h"
 
 void xbee8() {
-    Serial ser(p9, p10);
-    ser.baud(115200);
-    XBee xbee(ser);
+    XBee xbee(p9, p10);
+    xbee.baud(115200);
     xbee.init();
 
-    while (xbee.receive(5) != XBee::ZigBeeReceivePacket)
-        printf("waiting...\n");
+    printf("*** Coordinator ***\n");
+
+    while (true) {
+        if (xbee.receive() == XBee::ZigBeeReceivePacket) {
+            XBeeAddress64 address64;
+            XBeeReceivedData data;
 
-    char address64[8], data[64] = {};
-    xbee.scan(XBee::Address64, address64, sizeof(address64));
-    xbee.scan(XBee::ReceivedData, data, sizeof(data) - 1);
-    printf("received from %02X%02X%02X%02X %02X%02X%02X%02X: %s\n",
-        address64[0], address64[1], address64[2], address64[3],
-        address64[4], address64[5], address64[6], address64[7], data);
+            xbee.scan(address64);
+            xbee.scan(data);
+            int8_t rssi = *(int8_t *) xbee.executeCommand("DB");
 
-    if (strcmp(data, "Comment allez-vous?\n") == 0) {
-        xbee.setDestination(address64);
-        xbee.printf("Je vais bien, merci.\n");
-        printf("sent: Je vais bien, merci.\n");
+            printf("From: %s, RSSI: %ddBm, Data: %s\n", (char *) address64, -rssi, (char *) data);
+        }
     }
-
-    printf("done!\n");
 }
\ No newline at end of file