GDP group 24 node core

Dependencies:   EthernetInterface SDFileSystem mbed-rtos mbed snail MbedJSONValue

Revision:
25:fe273397ebb2
Parent:
23:b57a47c7862a
Child:
26:172b585fbb10
diff -r b57a47c7862a -r fe273397ebb2 main.cpp
--- a/main.cpp	Tue Jan 27 22:20:46 2015 +0000
+++ b/main.cpp	Wed Jan 28 20:21:12 2015 +0000
@@ -29,6 +29,10 @@
 
 queue<snail::sensordata> messageQueue;
 
+//commissioning button
+DigitalOut commissioningOutput(p30);
+InterruptIn commissioningInput(p16);
+
 string addressToString(char address[8])
 {
     string address_str;
@@ -199,6 +203,16 @@
     networkParametersTimeout.detach();
 }
 
+void commissioningFall()
+{
+    commissioningOutput = 0;
+}
+
+void commissioningRise()
+{
+    commissioningOutput = 1;
+}
+
 int main()
 {
     #ifdef DEBUG
@@ -225,13 +239,15 @@
     #endif
     sdcard sd = sdcard();
     
-    //TODO: read basenode pin
+    //commissioning button
+    commissioningInput.fall(commissioningFall);
+    commissioningInput.rise(commissioningRise);
+    
+    //check if local node is basenode
     #ifdef DEBUG
-        pc.printf("[MAIN] Basenode switch: %i\r\n", isBasenode);
+        pc.printf("[MAIN] Basenode status: %i\r\n", isBasenode);
     #endif
     
-    //TODO: load configuration from SD
-    
     getLocalAddress();
     
     if (isBasenode)
@@ -268,8 +284,6 @@
         {
             xbee.processIncomingData();
             
-            //TODO: if message queue exceeds MAX_QUEUE SIZE, write older readings to SD card.
-            
             //if xbee is awake send contents of message queue
             if (xbee.isCTS())
             {
@@ -311,7 +325,6 @@
                 for (int i = 0; i < data.readings.size(); i++)
                     readings[i] = data.readings[i];
                 
-                //TODO: Get real I2C address
                 snail::sensordata message(baseNodeAddress, data.type, data.type, time(NULL), readings, data.readings.size());
                 
                 messageQueue.push(message);