Code APP3

Dependencies:   mbed EthernetInterface WebSocketClient mbed-rtos BufferedSerial

Fork of APP3_Lab by Jean-Philippe Fournier

Revision:
14:cd488eba8bba
Parent:
13:5f21dd134bd2
Child:
15:c4d17caf0709
--- a/main.cpp	Sun Oct 01 16:34:11 2017 +0000
+++ b/main.cpp	Sun Oct 01 18:53:18 2017 +0000
@@ -14,6 +14,8 @@
 
 void set_remote_xbee_dio4(bool set);
 
+void set_pan_id(long pan_id);
+
 #if IS_COORDINATOR   
 void coordinator();
 #else
@@ -51,7 +53,7 @@
     
     Serial pc(USBTX, USBRX); // tx, rx
     coordinator_config_t config = read_coordinator_config();
-
+    set_pan_id(config.pan_id);
     frame_t current_frame;
     bool toggle_led = false;
 
@@ -81,7 +83,7 @@
 {    
     Serial pc(USBTX, USBRX); // tx, rx
     router_config_t config = read_router_config();
-
+    set_pan_id(config.pan_id);
     char sensor_buffer[64] = {};
     initialize_sensors();
     DECLARE_ADDR64_COORD
@@ -94,7 +96,21 @@
         sprintf(sensor_buffer, "%3.2f%3.2f%3.2f", accel.Accelerometre.x, accel.Accelerometre.y, accel.Accelerometre.z);
 
         transmit_request(sensor_buffer, 15, 0, USE_ADDR64_COORD, USE_ADDR16_UNKNOWN_OR_BCAST);
+        
         wait(config.refresh_freq);
     }
 }
-#endif
\ No newline at end of file
+#endif
+
+void set_pan_id(long pan_id)
+{
+    //Serial pc(USBTX, USBRX); // tx, rx
+    char pan_id_buffer[8] = {0};
+
+    for (int i = 0; i < 8; i++)
+    {
+        pan_id_buffer[i] = 0xFF & (pan_id >> 8 * (7 - i));
+        //pc.printf("0x%x", pan_id_buffer[i]);
+    }
+    at_command_set('I', 'D', pan_id_buffer, 8);
+}