Code APP3

Dependencies:   mbed EthernetInterface WebSocketClient mbed-rtos BufferedSerial

Fork of APP3_Lab by Jean-Philippe Fournier

Revision:
14:cd488eba8bba
Parent:
12:1286b80c68f7
Child:
15:c4d17caf0709
--- a/xbee.cpp	Sun Oct 01 16:34:11 2017 +0000
+++ b/xbee.cpp	Sun Oct 01 18:53:18 2017 +0000
@@ -27,18 +27,6 @@
     //xbee_receive_led = 1;    
 }
 
-
-bool set_pan_id(long pan_id)
-{
-    return false;
-}
-
-long get_pan_id()
-{
-    return 0L;
-}
-
-
 void build_api_frame_header(int frame_data_size)
 {
     // Delimiter
@@ -231,10 +219,46 @@
     transmit(3 + REMOTE_AT_OVERHEAD_LENGTH); 
 }
 
+
+void at_command_query(char msb, char lsb)
+{
+    char command[2] = {msb, lsb};
+    
+    build_api_frame_header(2 + REMOTE_AT_OVERHEAD_LENGTH);
+
+    set_api_frame_type(ATCommand);
+    set_api_frame_id(0x01);
+
+    set_transmit_data(7, command, 2);
+
+    build_api_frame_checksum(2 + REMOTE_AT_OVERHEAD_LENGTH);    
+
+    transmit(2 + REMOTE_AT_OVERHEAD_LENGTH); 
+}
+
+void at_command_set(char msb, char lsb, char* parameter, int parameter_length)
+{
+    char command[2] = {msb, lsb};
+    
+    build_api_frame_header(parameter_length + AT_COMMAND_OVERHEAD_LENGTH);
+
+    set_api_frame_type(ATCommand);
+    set_api_frame_id(0x01);
+
+    set_transmit_data(5, command, 2);
+    set_transmit_data(7, parameter, parameter_length);
+
+    build_api_frame_checksum(parameter_length + AT_COMMAND_OVERHEAD_LENGTH);    
+
+    transmit(parameter_length + AT_COMMAND_OVERHEAD_LENGTH); 
+}
+
 void transmit(int packet_length)
 {
+    //Serial pc(USBTX, USBRX); // tx, rx
     for (int i = 0; i < packet_length + 4; i++)
     {
+        //pc.printf(" 0x%x", TransmitBuffer[i]);
         xbee.putc(TransmitBuffer[i]);
     }
     xbee_transmit_led = !xbee_transmit_led;
@@ -304,7 +328,6 @@
     return finished_frame;    
 }
 
-
 /**
  * 
  *   // Calculate checksum